参考电源查询表时出现REF错误

时间:2017-09-26 00:45:21

标签: excel powerquery

人,

通过StackOverflow学习功能查询取得很大进步!让我来描述一下我的问题以及我迄今采取的步骤:

到目前为止,我已经遵循了如何通过函数组合多个文件的指南,到目前为止它实际上工作得很好。我从我所有文件所在的文件夹中获取数据,将它们合并,“清理”以仅显示我想要的列,然后作为表格加载到excel中......太棒了!

Name         | fCleanLogger.Temp (F)
------------ | --------
Logger A.txt | 78
Logger A.txt | 79
Logger A.txt | 57
Logger B.txt | 66
Logger B.txt | 90
Logger B.txt | 48
Logger B.txt | 44

当我想引用该表以在我的“摘要”表中使用时,麻烦就开始了。

示例:我有10个文件。我想得到每个文件的最高温度值......但现在所有这些文件都被合并了。所以我必须做一个INDEX MATCH公式...

=INDEX(MAX(Excel_LogFiles[fCleanLogger.Temp (F)]), MATCH("Logger A.txt", Excel_LogFiles[Name], 0))

=INDEX(MAX(Excel_LogFiles[fCleanLogger.Temp (F)]), MATCH("Logger B.txt", Excel_LogFiles[Name], 0))

奇怪的是,当我使用公式来匹配“Logger A.txt。”时,它可以正常工作。但是,其他每个文件名都会出现#REF错误。

有人有什么建议吗?非常难过这个,不知道在哪里寻求帮助。

提前非常感谢!

1 个答案:

答案 0 :(得分:0)

索引将范围作为第一个参数。你正在给它一个Max语句。第一个公式只返回一个结果,因为Match返回1并且Index的第一个参数有一个数字作为结果。第二个公式失败,因为Max仍然只返回一个数字(即90),但Match现在返回4并且索引范围中只有一个值,即90)。

如果您拥有Office 365订阅,则可以使用Maxifs功能

=MAXIFS(Excel_LogFiles[fCleanLogger.Temp (F)],Excel_LogFiles[Name],E3)

如果您运行其他版本,则可以使用此数组公式,必须使用Ctrl-Shift-Enter确认

=MAX(IF(Excel_LogFiles[Name]=E6,Excel_LogFiles[fCleanLogger.Temp (F)]))

enter image description here

顺便提一下,Power Query与此无关。它只是Excel。