仅当满足条件时才自动移动到列中的下一个单元格,如果不满足条件,则检查下一行中的条件并继续执行相同操作

仅当满足条件时才自动移动到列中的下一个单元格,如果不满足条件,则检查下一行中的条件并继续执行相同操作

工作表 1 - 我有 3 列(名字、姓氏和状态)

工作表 2 - 如果状态列中的状态显示“已回复”,我希望 A 列中的第一个单元格仅填充名字,然后在下一行自动执行相同的公式。

如果不满足条件,则公式需要检查状态列的其余部分并检查下一个状态“已响应”,然后在第 2 行填充这些详细信息,依此类推。

我希望我已经解释了我需要什么,如果没有,请告诉我。

在此处输入图片描述

!在此处输入图片描述

谢谢您 问候 AG

答案1

假设的列分别为 的 A、B 和 C sheet1,输出从 的第 2 行开始sheet2

返回名字:

=IFERROR(INDEX(Sheet1!$A$2:$A$23,SMALL(IF("Responded"=Sheet1!$C$2:$C$23,ROW(Sheet1!$A$2:$A$23),""),ROW()-1)-1,1),"")

返回姓氏:

=IFERROR(INDEX(Sheet1!$B$2:$B$23,SMALL(IF("Responded"=Sheet1!$C$2:$C$23,ROW(Sheet1!$A$2:$A$23),""),ROW()-1)-1,1),"")

返回响应:

=IFERROR(INDEX(Sheet1!$C$2:$C$23,SMALL(IF("Responded"=Sheet1!$C$2:$C$23,ROW(Sheet1!$A$2:$A$23),""),ROW()-1)-1,1),"")
  • 向下拖动公式。

  • 您可以根据需要更改单元格引用。

  • 2涵盖23了我正在查看的样本数据。

答案2

与贾斯汀的回答非常相似,

工作表1

Sheet1_img

2 张桌子,

  1. 包含实际源数据的 SourceTbl
  2. StatusTbl 包含“唯一”的状态值

您可以通过选择数据集并按 来创建表格Ctrl + T。 如果有,请选中“我的表格有标题”复选框,否则 Excel 将自动为您创建一个,然后您可以重命名。

可以在“表格工具”功能区->设计选项卡中修改表格名称(必须选择表格中的至少任意 1 个单元格)。

工作表2

Sheet2_img

首先,创建一个与 SourceTbl 类似的表格结构,但将表格中的单元格留空。

单元格 F4 包含一个数据验证下拉列表,显示 Sheet1 的 StatusTbl 条目。此单元格自定义名为“myStatus”

单元格 A5包含以下数组公式,

=IFERROR(INDEX(SourceTbl[First Name],SMALL(IF(SourceTbl[Status]=myStatus,ROW(SourceTbl[Status])-ROW(INDEX(SourceTbl[Status],1,1))+1),ROW($A1))),"")

复制粘贴并点击Ctrl + Shift + Enter

单元格 B5:

=IFERROR(INDEX(SourceTbl[Last Name],SMALL(IF(SourceTbl[Status]=myStatus,ROW(SourceTbl[Status])-ROW(INDEX(SourceTbl[Status],1,1))+1),ROW($A1))),"")

复制粘贴并点击Ctrl + Shift + Enter

单元格 C5:

=IFERROR(INDEX(SourceTbl[Status],SMALL(IF(SourceTbl[Status]=myStatus,ROW(SourceTbl[Status])-ROW(INDEX(SourceTbl[Status],1,1))+1),ROW($A1))),"")

复制粘贴并点击Ctrl + Shift + Enter

笔记:

  1. 可以通过展开 Sheet2 中的表格来检索任何遗漏的行(表格默认启用“计算列”功能,该功能将自动分别复制每列的公式)

  2. 如果 Sheet2 中的表格有空行,则表示您已检索所有匹配的数据,如果没有可检索的数据,则公式将显示空字符串。

  3. 您可以根据需要从下拉列表中更改单元格 F4 中的“myStatus”值。将捕获来自 SourceTbl(Sheet1)的相应数据。

希望这可以帮助。

相关内容