Excel 名称管理器中的公式显示1个短值

Excel 名称管理器中的公式显示1个短值,excel,excel-formula,Excel,Excel Formula,我在excel名称管理器中有一个公式,用来创建一个没有空格的表。问题是它创建的表中没有填写最后一个字段 表名称:资源\u ID 表公式: ='Failure Codes'!$H$2:INDEX('Failure Codes'!$H:$H,SUMPRODUCT(--('Failure Codes'!$H:$H<>""))) =“故障代码”$H$2:索引('Failure Codes'!$H:$H,SUMPRODUCT(-('Failure Codes'!$H:$H')) 我想知道为

我在excel名称管理器中有一个公式,用来创建一个没有空格的表。问题是它创建的表中没有填写最后一个字段

表名称:资源\u ID
表公式:

='Failure Codes'!$H$2:INDEX('Failure Codes'!$H:$H,SUMPRODUCT(--('Failure Codes'!$H:$H<>"")))
=“故障代码”$H$2:索引('Failure Codes'!$H:$H,SUMPRODUCT(-('Failure Codes'!$H:$H'))

我想知道为什么不包括列中的最后一个单元格,以及如何解决这个问题。

我假设故障代码'$H:$H是文本

='Failure Codes'!$H$2:INDEX('Failure Codes'!$H:$H, match("zzz", 'Failure Codes'!$H:$H))
'to discard zero-length strings things get a bit more complicated
='Failure Codes'!$H$2:INDEX('Failure Codes'!$H:$H, AGGREGATE(14, 7, ROW('Failure Codes'!$H$2:INDEX('Failure Codes'!$H:$H, MATCH("zzz", 'Failure Codes'!$H:$H)))/SIGN(LEN('Failure Codes'!$H$2:INDEX('Failure Codes'!$H:$H, MATCH("zzz", 'Failure Codes'!$H:$H)))), 1))
如果出现故障代码'$H:$H是当时的数字

='Failure Codes'!$H$2:INDEX('Failure Codes'!$H:$H, match(1e99, 'Failure Codes'!$H:$H))
='Failure Codes'!$H$2:INDEX('Failure Codes'!$H:$H, max(iferror(match(1e99, 'Failure Codes'!$H:$H), 2), iferror(match("zzz", 'Failure Codes'!$H:$H), 2))
如果出现故障代码'$H:$H是文字和数字的组合

='Failure Codes'!$H$2:INDEX('Failure Codes'!$H:$H, match(1e99, 'Failure Codes'!$H:$H))
='Failure Codes'!$H$2:INDEX('Failure Codes'!$H:$H, max(iferror(match(1e99, 'Failure Codes'!$H:$H), 2), iferror(match("zzz", 'Failure Codes'!$H:$H), 2))
不要对SUMPRODUCT使用完整列引用


SUMPRODUCT(-('Failure Codes'!$H:$H“”)
可能由于公式留下的字符串为空或长度为零而失败。

仅限文本。感谢您的详细解释。有一个问题。我不希望它包括带“”的单元格(空白单元格)。因此,很明显,表中有时会填充数字和字母。因此,我不得不修改您的公式以包含所有内容。感谢您的详细解释。我最终得到的公式是:
='Failure Codes'!$H$2:INDEX('Failure Codes')!$H:$H:INDEX('Failure Codes'),AGGREGATE(14,7,ROW('Failure Codes')!$H:$INDEX('Failure Codes')!$H,max(iferror(1e99,‘故障代码’!$H:$H),2),iError(匹配(“zzz”,“故障代码”!$H:$H),2))/SIGN(LEN(‘故障代码’!$H:$2:INDEX(‘故障代码’!$H:$H,max)(iError(匹配(1e99,‘故障代码’!$H:$H),2),iError(匹配(“zzz”,“故障代码”!$H:$H),2))),1))
很高兴听到这个公式为您解决了问题。奇怪的是,尽管这个公式很复杂,但它实际使用的计算周期比您的带全列引用的产品要少得多。