我想一起使用IF
,INDEX
和MATCH
函数来获取另一个包含两列的工作表的输出(其中一列始终为空,因此需要来自一栏不空白)。
我使用的公式如下:
=IF(ISBLANK('DATA 1'!B:B);
INDEX('DATA 1'!B:B;MATCH(OUTPUT!B14;'DATA 1'!A:A;0));
INDEX('DATA 1'!C:C;MATCH(OUTPUT!B14;'DATA 1'!A:A;0)) )
此公式仅返回一列中的值,当相应列为空时,它显示#N/A
。
我希望它显示非空白中任何一列(在另一张纸上的两列)中的值。
答案 0 :(得分: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)))
中有任何条目1}}包含这样的条目(可能是这些单元格中公式的结果),那么上面的结果就不会给出正确的结果。
因此,更严格的是:
=LOOKUP(REPT("z",255),INDEX('DATA 1'!B:C,MATCH(OUTPUT!B27,'DATA 1'!A:A,0),N(IF(1,{1,2}))))
假设返回的是文本而不是数字,您还可以使用较短的内容:
$('.dest').on('change', 'input[type="checkbox"][value^="2;"], input[type="checkbox"][value^="3;"]', function () {
$('ul[data-role="' + $(this).parentsUntil('.dest', '[data-role]').data('role') + '"] input[type="checkbox"][value$=";' + $(this).val().split(";").slice(-1)[0] + '"]:not([value^="1"])').prop('checked', $(this).prop('checked'));
});
尽管它的简洁性可以说是由它的复杂性所抵消,但如果在这些范围内存在空字符串,这将失败。