我有一个看起来像这样的电子表格:
动物在哪里 数量 长颈鹿野生 22 狮子动物园 87 老虎动物园 56 长颈鹿动物园 15 大象野生 94 老虎野生 47 狮子野生 45 大象动物园 12 老虎动物园 48
我需要返回所有数量的 Tiger,但只返回 Zoo 中的数量,并且我需要在一列中的不同单元格中列出这些数量。我应该能够轻松地将查询从 Tiger 更改为任何其他动物。
输出应如下所示:
获取生活在动物园的 老虎 数量:Tiger 56 48 获取生活在野外的狮子数量: Lions 94
谁能帮我解决这个问题?
被误解的问题
所以你会在某处有两个单元格来代表你的标准。让我们将其称为动物类型的单元格 D1 和位置的单元格 D2。
然后,您将使用以下公式的组合:INDEX 和 AGGREGATE。
让我们从聚合开始。使用它来构建与您要查找的条件相匹配的行号列表。
AGGREGATE(15,6,ROW(range of the first column of your table)/((range1=criteria1)*(range2=criteria2)*...*(rangeN=criteriaN)),row(A1))
需要注意的几个重要事项。AGGREGATE 执行类似数组的计算。因此,避免在聚合函数中使用完整的列引用。数组计算中的大范围会减慢您的计算机速度。确保你用 $ 锁定你的参考范围,以防止它们在你复制时改变,除非它是你想要改变的东西,比如 row(A1)
所以现在您知道如何获取所需答案的行号列表。您现在想要将此信息嵌入到 INDEX 公式中:
INDEX(A:A,AGGREGATE(...))
对要提取的每一列信息重复此操作,更新要从中提取信息的 A:A 部分。
概念证明
在图像中,我将整个公式包装在一个 IFERROR 函数中,以在未找到任何内容时显示“”。当您复制的行数多于结果时,这很方便。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句