Excel 搜索术语,返回数组中相应的术语

Excel 搜索术语,返回数组中相应的术语

电子表格有 5 列 600 行。第 1 列(举例来说)有 9 种病毒,这些病毒类型虽然混杂,但拼写一致。其他 4 列是每种类型的特征。

因此,“病毒 1”的 h 为 1,n 为 1,R 为 1.5,并出现在第 6 周

病毒从 1 到 9 混合在一起,共 600 行

在单独的工作表中,我希望 Excel 提取有关病毒 3 的所有数据。因此,它必须在整个电子表格中搜索第 1 列中名为“病毒 3”的所有内容,并返回其他 4 个值。

有一个简单的排序剪切粘贴过程,但我不能这样做,因为这必须是一个动态文档。每周都会有新数据进来,这些数据是混杂的,我希望我的手下将这些新数据剪切粘贴到主表中,然后查看我创建的其他 9 个电子表格以及我开发的趋势线。

答案1

在新工作表中使用以下公式,在 A 列中写入病毒名称(整个列中的病毒 1 比预期的多,您可以稍后删除空行

=IFERROR(INDEX(Sheet1!$A$2:$E$600,SMALL(IF(Sheet1!$A$2:$A$600=A2,ROW($A$2:$A$600),0),COUNTIF(Sheet1!$A$2:$A$600,"<>"&A2)+ROW(A2)-1)-1,2),"")  

您必须同时按下每个公式的 Ctrl++ ,然后将Shift其拖到同一列中Enter

末尾的 2 代表 Sheet1 中的第 2 列,其中有数据
A2:E600 初始工作表中的所有数据(5 列和 600 行)根据需要进行更改
A2:A600 第一列
If 如果找到,将返回 Virus 的行,如果未找到,则返回 0
Countif 计数不匹配的行
Small 将找到不为 0 的最小对应行
Row(A2) 具有最小的第 n 行,以便 Index 向下拖动时移动 Index
将返回 Virus 同一行和上述公式的第 2 列中的值

For column 3 use:  


=IFERROR(INDEX(Sheet1!$A$2:$E$600,SMALL(IF(Sheet1!$A$2:$A$600=A2,ROW($A$2:$A$600),0),COUNTIF(Sheet1!$A$2:$A$600,"<>"&A2)+ROW(A2)-1)-1,3),"")

For column 4 use:  


=IFERROR(INDEX(Sheet1!$A$2:$E$600,SMALL(IF(Sheet1!$A$2:$A$600=A2,ROW($A$2:$A$600),0),COUNTIF(Sheet1!$A$2:$A$600,"<>"&A2)+ROW(A2)-1)-1,4),"") 



For column 5 use:   


=IFERROR(INDEX(Sheet1!$A$2:$E$600,SMALL(IF(Sheet1!$A$2:$A$600=A2,ROW($A$2:$A$600),0),COUNTIF(Sheet1!$A$2:$A$600,"<>"&A2)+ROW(A2)-1)-1,5),"")

完成复制后,将所有数据的特殊值粘贴到另一个位置,以防止在有新数据时更改

相关内容