给定 n 个单元格,有没有办法填充 n-1 个单元格并且第 n 个单元格会自动填充?

给定 n 个单元格,有没有办法填充 n-1 个单元格并且第 n 个单元格会自动填充?

假设 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() 条件)

希望它有帮助。(如果没有用请告诉我)(:

相关内容