|
本帖最后由 yellowhawk 于 2024-5-30 13:56 编辑
在论坛这么多年了,对于写体会还是写得很少。其实学习就是不断的总结,分析,讨论,这样才会深刻并能灵活运用到实际中。
经常有人问到关于处理合并单元格的问题,我今天总结一下(也是在论坛中学到的),对于初学者来说,还是很适用的。高手们可以参与讨论,希望得到更多的方法。如图:
对于在列的合并单元格:
如A2:A11
公式为:=LOOKUP(ROW($A$2:$A$11),ROW($A$2:$A$11)/($A$2:$A$11<>""),$A$2:$A$11)
对于在行的合并单元格:
如B1:j1
公式为:=LOOKUP(COLUMN($B$1:$J$1),COLUMN($B$1:$J$1)/($B$1:$J$1<>""),$B$1:$J$1)
关键是理解Lookup函数
LOOKUP 函数通常用来查找一行或一列中的指定值,并返回另一行或列中相同位置的值。
- 函数公式 :=LOOKUP(搜索键值, 搜索范围 | 搜索结果数组, [结果范围])
- 搜索范围 | 搜索结果数组(必填): 选择要搜索的范围。
- 结果范围(可选): 返回结果的范围,此范围必须仅为单行或单列。
- 举例:=LOOKUP(A8,A8:B12,B8:B12)、=LOOKUP(A8,A8:A12,B8:B12)、=LOOKUP(A8,A8:B12)
- 注:(1)无论使用向量形式还是数组形式,都需要先对原始数据进行升序排列 。 (2)选择范围时不用包含表头。 (3)如果函数无法找到搜索值,它会匹配搜索范围中小于或等于搜索值的最大值。如果搜索范围中最小的值也比搜索值大,那么函数会返回 #N/A 错误值。
现在对照理解一下:
=LOOKUP(ROW(合并单元格),ROW(合并单元格)/(合并单元格<>""),合并单元格)
row(A2:A11),结果是:2,3,4,5,6,7,8,9,10,11
(A2:A11<>""即首个单元格不为空2,7,10,其他为空
row(A2:A11)/(A2:A11<>""),就会出现:{2;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;7;#DIV/0!;#DIV/0!;10;#DIV/0!},为空的单元格会错误
用Lookup搜索2,3,4,5,6时,都会返回2的结果,7,8,9都返回7的结果,10,11都返回10的结果。
总的结果就是:{"A";"A";"A";"A";"A";"B";"B";"B";"C";"C"}
如果实现不理解的,也可以生搬硬套,直接记住=LOOKUP(ROW(合并单元格),ROW(合并单元格)/(合并单元格<>""),合并单元格)
如果是行就把row改成column就行了,要锁定记得按F4.
|
评分
-
5
查看全部评分
-
|