答案1
答案2
我已经研究这个问题一段时间了,当我使用不同的数据时,我无法重现答案,问题在于LOOKUP()
需要对查找向量进行排序,而这不是提问者的情况。
使用精简数据(为了节省输入)我使用了 5 行 5 列:-
为了清楚起见,我建立了 3 列公式:-
[G3] =SUMPRODUCT(NOT(ISBLANK(A3:E3))*2^COLUMN(A3:E3))
[H3] =INT(LOG(G3,2))
[I3] =OFFSET(A3,0,H3-1)
然后G3:H3
复制所需的行数。
笔记:-
G3
是单元格包含数据的位图。H3
是位图中2的最高幂。I3
是最后一个包含数据的单元格的内容。- 公式可以嵌套,例如最后一列编号可以是
=INT(LOG(SUMPRODUCT(NOT(ISBLANK(A3:E3))*2^COLUMN(A3:E3)),2))
- 我使用 LibreOffice 开发了它,并使用 Excel 2007 对其进行了测试。
答案3
由于范围内的值是数字,因此您可以简单地使用:
=LOOKUP(9.9E+307,$E11:$P11)
由于lookup_value
将高于行中的任何值,因此公式将返回该行中的最后一个数值。
如果您想返回月份名称,那么请将该行作为参数result_vector
。
=LOOKUP(9.9E+307,$E11:$P11,$E$10:$P$10)
如果行长超过E:P
,请相应调整参数。
如果您想要的最后一列可能包含文本,请尝试:
=LOOKUP(2, 1/LEN($E11:$P11),$E11:$P11)
我认为HELP
该LOOKUP
函数不正确。请参阅我的更正:
如果 LOOKUP 函数找不到 lookup_value,则该函数匹配最大的 最后的lookup_vector 中的值小于或等于 lookup_value。