假设一个简单的表格如下:
------------- | 1 | a | Need formula to return: "a,b,c" | |-----| | | b | | |-----| | | c | ------------- | 2 | a | Need formula to return: "a,b" | |-----| | | b | -------------
第一列是合并的键单元格,第二列的行数未知,每个单元格中都有文本值。
我想要的是一种方法,例如VLOOKUP / HLOOKUP,以检索合并的密钥单元格中的单元格列表。
即使我想使用宏,如何通过“1”上的VLOOKUP以编程方式检索a-b-c单元格范围?
如果这不起作用,我只需对列表中是否存在字母进行逻辑检查即可 例如,给定一个键值,我希望能够以编程方式应用条件,如:
- "Does 'a' exist at '1'? Yes." - "Does 'c' exist at '2'? No."
修改
请记住,以上是一个例子;我不一定知道只有'a','b'和'c';我不知道每组中的行数。
感谢。
答案 0 :(得分:3)
这会给你真/假,虽然你可以将它嵌套在IF语句中以获得是/否。
=NOT(ISERROR(VLOOKUP("b",INDIRECT(ADDRESS(MATCH(1,A:A,0),2)&":"&ADDRESS(MATCH(2,A:A,0)-1,2)),1,0)))
变量是“b”,它是要查找的字母,第一个匹配语句中的1是要键入的数字,然后第二个匹配语句中的2只是1个变量+1。
公式首先通过确定1变量的位置来确定第2列中单元格的范围,然后确定小于下一个数字结束位置的单元格。当然,这仅在数字连续且有序的情况下才有效。然后它会根据确定的范围执行VLOOKUP,例如,$ 1 $ 1:$ 3 $。