Excel:根据相应的行打印列值列表?

时间:2018-01-25 18:15:44

标签: excel list excel-formula output lookup

解决:我起初并没有意识到这一点,但我所做的是列出我需要提取的房间号码,并使用if语句。类似的东西:

if(<cell> in <list containing cell>, print email, "")

工作示例:

=IF(ISNUMBER(MATCH(C2,$S$6:$S$29,0)),C2,"")

S6:S29是我想要的房间号码列表。

我的问题: 我有一个特定的问题,我无法找到答案。基本上我想做的是给出这样的电子表格:

name    email            room_number

John    john@email.com   312
Jake    jake@email.com   852
Ally    ally@email.com   328

我希望能够根据房间号码打印出电子邮件列表。这样我可以在某处键入(852,312)并打印或导出Jake和John的电子邮件。我想过使用VLOOKUP,但它看起来并没有多大帮助,所以任何帮助都会受到赞赏。

现在我必须通过在线数据库查找房间号码,打开每个人的个人资料,然后复制并粘贴电子邮件。我几乎每天都这样做,所以我希望自动化这个过程,这样我就可以给它需要电子邮件的房间#s,然后立即复制并粘贴所有电子邮件。

1 个答案:

答案 0 :(得分:1)

您可以使用数组公式(使用 CTRL + SHIFT + ENTER 输入)

为了便于阅读公式,我创建了命名范围nameemailroom,但您可以将其替换为范围。

=IFERROR(INDEX(email,SMALL(IF(room=$E$2,ROW(room)-ROW($C2)+1),ROWS($C$2:C2))),"")

假设您在$E$2中输入了一个房间号码,并在下面输入了您想要的电子邮件。在$E$3中使用上述公式并向下拖动。

enter image description here

如果您不使用命名范围,则上述内容为:

=IFERROR(INDEX($B$2:$B$15,SMALL(IF($C$2:$C$15=$E$2,ROW($C$2:$C$15)-ROW($C$2)+1),ROWS($C$2:C2))),"")

enter image description here

修改:要执行多个会议室,只需在F2中添加另一个号码,并在$F$3中使用相同的公式(但将...$C$2:$C$15=$E$2更改为...$C$2:$C$15=$F$2)。< / p>