你应该使用:
=IF(ISBLANK(INDEX('DATA 1'!C:C,MATCH(OUTPUT!B27,'DATA 1'!A:A,0))),INDEX('DATA 1'!B:B,MATCH(OUTPUT!B27,'DATA 1'!A:A,0)),INDEX('DATA 1'!C:C,MATCH(OUTPUT!B27,'DATA 1'!A:A,0)))
尽管您需要注意在传递空字符串 ( ) 时ISBLANK
将返回,因此如果您的任何条目或包含此类条目(可能是这些单元格中的公式的结果),则上述内容不会给出正确的结果。FALSE
""
'DATA 1'!B:B
'DATA 1'!C:C
因此,更严格的是:
=IF(INDEX('DATA 1'!C:C,MATCH(OUTPUT!B27,'DATA 1'!A:A,0))="",INDEX('DATA 1'!B:B,MATCH(OUTPUT!B27,'DATA 1'!A:A,0)),INDEX('DATA 1'!C:C,MATCH(OUTPUT!B27,'DATA 1'!A:A,0)))
假设返回是文本,而不是数字,您也可以使用较短的:
=LOOKUP(REPT("z",255),INDEX('DATA 1'!B:C,MATCH(OUTPUT!B27,'DATA 1'!A:A,0),N(IF(1,{1,2}))))
尽管可以说它的简洁性被它的复杂性所抵消,并且如果这些范围内存在空字符串,这将再次失败。