我正在寻找一种从多个具有多列的Excel工作表中提取所有独特组合的方法。 E.g:
#no. | fruit | city | year | something else
1 | apple | London | 2015 | some text
2 | banana | London | 1999 | no text
3 | apple | Oxford | 1895 | some text
4 | banana | London | 1999 | no text
如何在Excel或VBA中使用任何函数获取所有唯一行的列表(当然除了第1列)?优选地,它是类似脚本的方式,因为这些表包含超过6000行不同的信息。
有什么想法吗?
答案 0 :(得分:0)
如果您只想使用公式,这里有一些简单的步骤:
1)在表格末尾添加列。在本专栏中,将所有行汇总为:
import os
path = 'dir/'
os.mkdir('dir/all_files')
extensions = ['.csv']
for folder, _, filenames in os.walk(path):
for filename in filenames:
if folder == path or folder == os.path.join(path, 'all_files'):
continue
folder = folder.strip(path)
extension = os.path.splitext(os.path.splitext(filename)[0])[-1].lower()
if extension in extensions:
infilename = os.path.join(path, folder, filename)
newname = os.path.join(path, 'all_files', "{}-{}".format(folder.strip('./'), filename.replace('.csv.bz2', '.csv')))
os.rename(infilename, newname)
2)然后添加另一列来计算和计算出版物的出现次数。放入#no. | fruit | city | year | something else|
1 | apple | London | 2015 | some text |=B2&C2&D2&E2
2 | banana | London | 1999 | no text |
3 | apple | Oxford | 1895 | some text |
4 | banana | London | 1999 | no text |
公式并填写:
COUNTIF()
如果您使用条件= 1 过滤最后一列,则可以获得所有唯一行。