我在一本工作簿上有 8 个电子表格。第一个是每周的总体视图。其他七个按天划分。每一天都列出了一些到访人员的姓名。所以星期一可能有 Joe、John 和 Jack 来访。这些是星期一工作表 A1、A2 和 A3 中的值。星期二可能再次有 Joe,然后是 Ryan,然后是 Andrew。因此,它们将构成星期二工作表的 A1、A2 和 A3 值,依此类推。
总体电子表格需要显示该周的所有名称,但不能重复任何名称。因此,在总体表中,我希望看到类似以下内容:
Joe
John
Jack
Ryan
Andrew
所以没有重复的名字。如果可能的话,我想不使用宏来实现这一点。当你进入第十个人左右时,我开始创建的公式会变得非常长。它涉及=IF(AND( ),IF(AND( ), IF(AND...
到第一天可能有一个名字的每个单元格 - 然后我将在第二天检查它是否有任何内容等等。你可以看到它会变得非常长。
任何帮助都将受到赞赏。
编辑:以下公式比较两个列表,并且仅在新列表中输入唯一的名称:
=IFERROR(IFERROR(INDEX(Monday, MATCH(0, COUNTIF($C$1:C1, Monday), 0)),INDEX(List2, MATCH(0, COUNTIF($C$1:C1, List2), 0))), "")
(将其放入单元格时,需要按 ctrl-shift-enter 键,以便它可以处理范围)
但我对它的理解还不够深入,无法将其应用于 7 个列表。有什么想法吗?
答案1
OP在问题中留下了答案!
=IFERROR( IFERROR( IFERROR( IFERROR( IFERROR( IFERROR( IFERROR( INDEX(ThurNames, MATCH(0, COUNTIF($B$2:B2, ThurNames), 0)), INDEX(FriNames, MATCH(0,COUNTIF($B$2:B2, FriNames), 0))), INDEX(SatNames, MATCH(0, COUNTIF($B$2:B2, SatNames), 0))), INDEX(SunNames, MATCH(0, COUNTIF($B$2:B2, SunNames), 0))), INDEX(MonNames, MATCH(0, COUNTIF($B$2:B2, MonNames), 0))), INDEX(TueNames, MATCH(0, COUNTIF($B$2:B2, TueNames), 0))), INDEX(WedNames, MATCH(0, COUNTIF($B$2:B2, WedNames), 0))), "")
没错,7 个嵌套的 iferror 语句。如果您使用这个,请不要忘记在完成后按 ctrl + shift + enter,而不是直接按 Enter。
答案2
我找到了一种使用嵌套 IFERROR 语句来实现此目的的方法。我希望这可以帮助更多人,而不仅仅是我自己。
=IFERROR( IFERROR( IFERROR( IFERROR( IFERROR( IFERROR( INDEX(ThurNames, MATCH(0, COUNTIF($B$2:B2, ThurNames), 0)), INDEX(FriNames, MATCH(0,COUNTIF($B$2:B2, FriNames), 0))), INDEX(SatNames, MATCH(0, COUNTIF($B$2:B2, SatNames), 0))), INDEX(SunNames, MATCH(0, COUNTIF($B$2:B2, SunNames), 0))), INDEX(MonNames, MATCH(0, COUNTIF($B$2:B2, MonNames), 0))), INDEX(TueNames, MATCH(0, COUNTIF($B$2:B2, TueNames), 0))), INDEX(WedNames, MATCH(0, COUNTIF($B$2:B2, WedNames), 0))), "")
注意:这很重要,一旦将其放入公式栏中 - 请按 ctrl-shift-enter 结束它,否则它将不起作用。
ctrl-shift-enter 告诉公式它需要跨数据范围工作。