尝试将数据合并到一个主表中。我有类似下面的内容:
Sheet 1 Sheet 2 Sheet 3
Name Gain(Y/N) Name Gain(Y/N) Name Gain(Y/N)
AAA Y AAA Y AAA
BBB N BBB BBB N
CCC CCC Y CCC Y
DDD DDD DDD Y
EEE EEE EEE N
最终会看起来像(将所有表格合并到sheet1中)
Sheet 1
Name Gain(Y/N)
AAA Y
BBB N
CCC Y
DDD Y
EEE N
问题是合并功能不适用于文本字符串(Y / N)
我在想'if vlookup'或匹配索引?但多重参考? 而不是相互压倒。也许有更简单的方法...
感谢您的帮助:D
答案 0 :(得分:0)
如果您不介意在每张纸上创建额外的列,可以将“Y”和“N”变为数字。假设您的标签位于A列中,则插入新的B列并将以下内容放入B2:
=IF(A2="Y", 3, IF(A2="N", 2, 1))
重复所有工作表。现在您可以使用“MAX”功能进行合并。如果字母2
出现在任何地方,它将返回"Y"
等等。现在,您可以通过将以下公式放在合并数据旁边的列中来返回Y / N /空白:
=INDEX({" ","N","Y"}, B2)
" "
如果B2
为1
,"N"
如果B2
为2
,则返回{{1}},等等。最后,您可以复制整个列,以及“粘贴特殊值 - 值”以获得您想要的内容。
答案 1 :(得分:0)
=IF(OR(Sheet1!B2="Y",Sheet2!B2="Y",Sheet3!B2="Y"),"Y",IF(OR(Sheet1!B2="N",Sheet2!B2="N",Sheet3!B2="N"),"N",""))
在新工作表的B2
中并向下复制可能适合。
编辑简化修订公式以反映编辑问题:
为(空白)和具有最小可见行号的单元格中的增益(Y / N)(假设为ColumnB)的滤波器Sheet1输入:
=IF(OR(VLOOKUP(A4,Sheet2!A:B,2,0)="Y",VLOOKUP(A4,Sheet3!A:B,2,0)="Y"),"Y",IF(OR(VLOOKUP(A4,Sheet2!A:B,2,0)="N",VLOOKUP(A4,Sheet3!A:B,2,0)="N"),"N",""))
将4
中的A4
更改为最小的可见行号(根据需要调整列引用)并根据需要进行复制。
答案 2 :(得分:0)
您也可以使用Microsoft Query将所有数据提取到一个数据透视表中,其代码类似于:
SELECT Name, Gain, 'Sheet1' as [Sheet#]
FROM Sheet1
UNION
SELECT Name, Gain, 'Sheet2' as [Sheet#]
FROM Sheet2
UNION
SELECT Name, Gain, 'Sheet3' as [Sheet#]
FROM Sheet3