【回复贴】 如何做到“自动抓取新增项”的效果?

懒得批爆
懒得批爆

创作者俱乐部成员

原贴地址:https://bbs.wps.cn/topic/22184

仔细查看截图后,发现是需要显示每一行最后一个单元格的字符,于是想到了LOOKUP函数,这不需要动态数组。

最终呈现效果如下:

A4=LOOKUP(2,1/(A2:Z2<>""),A2:Z2)

这个公式假设您的数据在A到Z列之间。LOOKUP函数会在第二个参数(1/(A2:Z2<>""))中查找值2,因为除以0会得到错误,而除以非0(即非空单元格)会得到一个数值,所以LOOKUP会找到数组中最后一个数值的位置,也就是最右边的非空单元格。

A6=LOOKUP(2,1/(A2:AL2<>""),A2:AL2)

请根据您实际的列范围调整上述公式。如果您的数据超过了Z列,只需将Z2更改为您数据的最后一列即可。

四川省
浏览 517
收藏
4
分享
4 +1
5
+1
全部评论 5
 
AI看热闹
很腻害
· 四川省
回复
 
(╭☞•́⍛•̀)╭☞lazy.....
接下来是实验部分 =LOOKUP(2,1/(A2:AL2<>""),A2:AL2) 其实查找值是可以把2写成1的,它的两个特性都支持这么做。 如果大佬有什么特殊的例子,非常感谢指出 另外在原帖中,有其他大佬使用了其他函数,并且还贴心的考虑到了中间是否会出现空值的情况。 比如1,2,空,5,空,8,9,10 那么经过实验,大佬给出的这个方法不需要担心这个问题,同样也是因为那两个特性的关系。 经过几天的潜水,我发现这里面个个都是人才,说话又好听,希望有朝一日我也能成为大佬帮助萌新!
· 浙江省
回复
 
(╭☞•́⍛•̀)╭☞lazy.....
回到大佬的回答 LOOKUP(2,1/(A2:AL2<>""),A2:AL2) 在1/(A2:AL2<>"")中查找2,返回在A2:AL2中所对应的东西 先来说说大佬的思路 根据上文我们得知1/(A2:AL2<>"")只会返回两个结果:“1”和”错误“。 那么为什么要在“1”和”错误“中查找“2”呢? 因为lookup的模糊查找特性。 “1”和”错误“中,明显1和2是最接近的,所以最终结果只会显示1所对应的东西。而1代表非空,也就是有东西,错误则代表空,表示没东西。 那么,在一行数据中,前半段有数据,后半段没数据,为什么lookup可以精确抓取到最后一个数据,而不是前半段的任意一个数据呢? 这是因为lookup的第二个特性:升序查找。 在“查找向量”的范围中,其数值一定要符合一条规则,那就是升序排列,不然会发生错误。 什么意思?就是说这组数据要么是1,2,3,4,5,7,9,11,要么是1,2,2,5,8,要么是1,1,1,1,1,错误,1,错误。 如果这组数据是这样的:10,8,6,1,那么lookup就无法完成它的工作。
· 浙江省
回复
(╭☞•́⍛•̀)╭☞lazy.....
这个特性也决定了lookup一定会找符合条件的最后一个数据,从上到下,从左到右。
· 浙江省
回复
 
(╭☞•́⍛•̀)╭☞lazy.....
补充学习来了↓ A2:Z2<>""---代表判断A2:Z2单元格是否为空,空则返回TRUE,否则返回FALSE。 表格中TRUE的值为1,而FALSE的值为0(图1)。 向前看,如果用1/(A2:Z2<>""),那么有数据的单元格会返回值1,反之则会显示计算错误(图2)。 接下来再说所lookup这个函数。 lookup有两个特性,一个是升序查找,一个是模糊查找,这两个特性并存。 =lookup(查找值,查找向量,【返回向量】) 查找值:你想让它找什么东西就写什么东西。我要他找张三,我就写张三。 查找向量:你想让他找东西,总得告诉他在哪找吧? 返回向量:你最终想要的东西在哪,你就写哪 举个栗子: 张三在银河系-太阳系-地球-中国-浙江-宁波-张爸爸幼儿园(未知)-A班,女朋友是小花,在B班(未知)。 现在我要知道张三在哪个幼儿园。 =lookup(张三,所有幼儿园的所有学生的名单,所有幼儿园的名单) 现在你是隔壁幼儿园的校草,你听说张爸爸幼儿园有个叫小花的校花楚楚动人,你棍子动了,想知道她在哪个班,怎么办? =lookup(小花,张爸爸幼儿园学生名单,班级名单)
· 浙江省
回复