首页 > 解决方案 > 一个使用 INDEX、SMALL、IF 的数组函数有效,但另一个无效

问题描述

我希望有人能为我解决这个问题,因为我很难过!

我有一个名为Data的 Excel 选项卡,其中包含我想要查看的所有数据。

检查(一) 部门(B) 子/部门(C) 首要问题 (D) Q# (E) 问题(F) BHA_工具 (G)
真的 S1 部门:A 这是一种与农业生产相关的新方法、工具或技术吗? S1q1 这是一种与农业生产相关的新方法、工具或技术吗? 6 其他来源
真的 S1 部门:A 目标参与者是否有参与拟议活动的经验? S1q2 您的家庭目前使用哪些类型的后期制作流程 3 FGD - 流行
真的 S1 部门:A 目标参与者是否有参与拟议活动的经验? S1q3 您家目前使用的储粮方式有哪些 3 FGD - 流行

数据选项卡中的数据表

在选项卡Full_Questions 中,我使用以下数组查询数据:

{=IFERROR(INDEX(Data!F$2:F$300,SMALL(IF(Data!A$2:A$300=TRUE,ROW(Data!F$2:F$300)),ROW(1:1))-1,1),"")}

它工作正常。

Q (A) 的完整列表 被问到... (B) 可用于工具.. (C)
这是一种与农业生产相关的新方法、工具或技术吗? 项目文件 6 其他来源
您的家庭目前使用哪些类型的后期制作流程 农户;按性别、年龄范围等分类 3 FGD - 流行
您家目前使用的储粮方式有哪些 农户;按性别、年龄范围等分类 3 FGD - 流行

Full_Questions 中的数据表,通过数组(A 列)或 INDEX MATCH(B 和 C 列)从数据选项卡中查询

在下一个选项卡上:FGD - Pop,我尝试使用以下数组公式缩小数据范围:

{=IFERROR(INDEX(Full_Questions!A$2:A$300,SMALL(IF(Full_Questions!C$2:C$300="3 FGD - Pop",ROW(Full_Questions!A$2:A$300)),ROW(1:1))-1,1),"")}

但我什么也得不到。

我认为可能是我无法使用另一个数组中的数组查询数据,所以我尝试了:

{=IFERROR(INDEX(Data!F$2:F$300,SMALL(IF(AND(Data!A$2:A$300=TRUE,Data!G$2:G$300="3 FGD - Pop"),ROW(Data!F$2:F$300)),ROW(1:1))-1,1),"")}

但这也没有用。

我究竟做错了什么?任何建议将不胜感激!

标签: excelexcel-formula

解决方案


修剪“FGD - Pop”字段/数据(在源和相应的功能中)

语境

我不能说“我喜欢你使用的函数构造 - 即索引/小等的组合以带回独特的索引/匹配结果 - 伟大的倡议”,因为它会因为不在我们的回复中足够“机器人”(所以将在我下面的评论中重复这种相同的情绪 - 哈!)。

行动

我已经在这个谷歌工作簿中复制了你所有的输入/函数(也在 Full_Questions 中填写了关于 Pop-3g 的查找,我相信这首先来自数据选项卡。无论如何。

执行此操作后(并解决小问题:额外空格 - 例如存在于 FGD-Pop 数据中),我让您的功能在 FGD-Pop 选项卡中正常工作。

我还提供了一种稍微更快/更简单的方法来实现您使用过滤器功能红色字体所做的事情)。

结果

如果你有 Office 365 并且可以使用过滤器功能,截图参考相关功能(如果你没有它,我建议你看看你是否可以,它有一些邪恶的新功能,如 sort、sortby、unique ETC。)。

截图

数据选项卡 源数据——这里没什么特别的,仅供参考

Full_Questions

[过滤功能在Full_Questions Sheet2中的应用

您没有要求这个,但是如果您在这里使用过滤器功能,这是为了您的方便先生!

=FILTER(Data!F1:F500,Data!A1:A500=TRUE)

还有你一直在等待的那个......☺</p>

FGD - 弹出选项卡:使用您的功能 突出你的功能

(在更正“3 FGD - Pop”文件管理器中的额外空间问题后(在源代码和函数本身中以保持一致性)

有问题的功能:

=IFERROR(INDEX(Full_Questions!$A$1:$A$10,SMALL(IF(Full_Questions!$C$1:$C$10="3 FGD - Pop",ROW(Full_Questions!$A$1:$A$10)),ROW(1:1))-1,1),"")

FGD - 弹出选项卡:使用 Office 365“过滤器”方法

突出简约

功能:

=FILTER(Full_Questions!B1:B3,1*(Full_Questions!C1:C3="3 FGD - Pop"))

推荐阅读