我希望清楚地解释我要做什么。
我在B列中有一些数据,如A列所示进行了分组。
我想为A列中存在的每个组计算唯一值,而不考虑先前组中已经计算的唯一值。
例如,我想:
在下面,即使我不太满意,也可以找到包含我找到的解决方案的Google表格,以轻松显示我的意思。
https://docs.google.com/spreadsheets/d/1x8S76_6dUnHr1NtUbzNzpLTpQtqan6_ohemcrGsrpC0/edit#gid=0
基本上,在A:B列中,我们有输入数据。您可以在A列和B列中添加数据以查看其工作方式(目前,我的方法只有在A列中添加以下组之一时才有效:'proyecto1','proyecto2','proyecto3','proyecto4' ,“ proyecto5”和“ proyecto6”)。
在D:E列中,我们基本上有输出数据,该数据是由组计算的。
在G:W列中,用于处理数据的公式。
很明显,我的方法适用于“ proyecto6”,因为在“处理列”中,我只考虑不超过“ proyecto6”的配方。
一切正常,但我的问题是:您能建议我一种更有活力的方式来实现我想要做的事情吗?还是唯一的方法就是编写一些代码?
答案 0 :(得分:1)
粘贴到 D2 单元格:
=UNIQUE(A2:A)
粘贴到 E2 单元格:
=ARRAYFORMULA(IF(LEN(D2:D);
MMULT(IFERROR(LEN(G2:Z)/LEN(G2:Z); 0); TRANSPOSE(COLUMN(G2:Z2)^0)); ))
粘贴到 G2 单元格:
=TRANSPOSE(UNIQUE(FILTER(B$2:B; A$2:A=D2)))
粘贴到 G3 单元格并向下拖动:
=TRANSPOSE(UNIQUE(FILTER(FILTER(B$2:B; A$2:A=D3);
NOT(COUNTIF(INDIRECT("G2:"&ROW()-1); FILTER(B$2:B; A$2:A=D3))))))