假设 n = 4。
如果我有包含此数据的原始数据表:
Name | Food | Drink | Colour
Dave | Choc | Apple | Green
Kate | Peas | Cherry| Yellow
我有这个(在另一张纸上)
Name | Food | Drink | Colour
(blank) | (blank) | (blank) | (blank)
我该如何填充(比如说)第 1 、第 2和第 4 个条目,然后使其与原始数据中的第 3个数据条目匹配?(请注意,我填充哪 3 个单元格并不重要)。
例如如果我最初像这样:
Name | Food | Drink | Colour
Kate | Peas | (blank) | Yellow
然后 Excel 应该自动用“樱桃”填充饮料条目。
有办法吗?最好不用 VBA,但如果需要也可以用 VBA。
注意:填充的顺序不重要(即我可以填充第 1 、第 3和第 4 个单元格)。 (空白)表示字面上的空白单元格。
答案1
參考文獻: https://exceljet.net/formula/index-and-match-with-multiple-criteria
假设这些位于 Sheet1 的 A1:D3 中:
Name | Food | Drink | Colour
Dave | Choc | Apple | Green
Kate | Peas | Cherry| Yellow
然后在 Sheet2 中,假设 A1:D1 是标题,输入:
A2 -> =IFERROR(IF(ISFORMULA(B2)+ISFORMULA(C2)+ISFORMULA(D2),"",INDEX(Sheet1!A:A,MATCH(1,INDEX((B2=Sheet1!B:B)*(C2=Sheet1!C:C)*(D2=Sheet1!D:D),0,1),0))),"")
B2 -> =IFERROR(IF(ISFORMULA(A2)+ISFORMULA(C2)+ISFORMULA(D2),"",INDEX(Sheet1!B:B,MATCH(1,INDEX((A2=Sheet1!A:A)*(C2=Sheet1!C:C)*(D2=Sheet1!D:D),0,1),0))),"")
C2 -> =IFERROR(IF(ISFORMULA(B2)+ISFORMULA(A2)+ISFORMULA(D2),"",INDEX(Sheet1!C:C,MATCH(1,INDEX((B2=Sheet1!B:B)*(A2=Sheet1!A:A)*(D2=Sheet1!D:D),0,1),0))),"")
D2 -> =IFERROR(IF(ISFORMULA(B2)+ISFORMULA(C2)+ISFORMULA(A2),"",INDEX(Sheet1!D:D,MATCH(1,INDEX((B2=Sheet1!B:B)*(C2=Sheet1!C:C)*(A2=Sheet1!A:A),0,1),0))),"")
然后你只要向下拖动就可以了。
在任意 3 个单元格中填写(通过键入公式来替换公式..)。最后一个将出现。我正在使用参考中提到的最后一种方法。
问题是:如果没有匹配,我已将其设置为不显示任何内容。您可以根据需要更改它。( iferror() 条件)
希望它有帮助。(如果没有用请告诉我)(: