昨天,我很幸运地收到了有关问题的帮助(当列包含零长度字符串时如何使用 IF/IFS/ISBLANK),该问题得到了以下答案:
=BYROW(CA6:CC13; LAMBDA(a; INDEX(a; XMATCH(TRUE; ISNUMBER(1/a); 0; -1))))
=BYROW(CA6:CC13; LAMBDA(a; XLOOKUP(TRUE; ISNUMBER(1/a); a; ; 0; -1)))
=IF(1-ISERR(1/CC6:CC13); CC6:CC13; IF(1-ISERR(1/CB6:CB13); CB6:CB13; CA6:CA13))
所有功能都完美适合该任务。但是,我现在需要帮助修改这些(或仅其中之一),因此该函数不仅会返回数字,还会返回文本。
为了检查工作簿的质量,我不允许使用VBA。
Mayukh Bhattacharya 提供的功能几乎可以工作。但此函数仅返回最后一列 (CA) 中的文本。
我尝试将该函数重写为以下内容:
=IF(ISNUMBER(1/BK6:BK12), BK6:BK12, IF(ISNUMBER(1/BJ6:BJ12), BJ6:BJ12, BI6:BI12))
还尝试过这个:
=IF(OR(ISNUMBER(1/CC6:CC13), ISTEXT(CC6:CC13)), IFERROR(CC6:CC13, ""), IF(OR(ISNUMBER(1/CB6:CB13), ISTEXT(CB6:CB13)), IFERROR(CB6:CB13, ""), CA6:CA13))
这对我有用:
以上的更新版本:
我认为这个可能更短:
看来您只想返回每行的最后一个非空单元格。尝试-
这个为我做了这件事,结合了两篇文章:
但似乎有点矫枉过正