我一直在尝试使用依赖下拉列表来实现这一点,但我还没有成功处理我的特定表格。本质上,我希望根据另一个表格中的“过滤”结果列表创建一个验证列表。
这些是结构化表格:
表格1(使用要“过滤”的静态值)
id Items
2 ItemAA
2 ItemAAA
3 ItemZZ
5 ItemXY
5 ItemXYZ
2 ItemCC
表 2(带有验证列表下拉菜单)
idFromTable1 RelatedOptionFromFilteredDropdownList
2 ItemAA (dropdown lists: ItemAA, ItemAAA, ItemCC)
5 ItemXY (dropdown lists: ItemXY, ItemXYZ)
2 ItemCC (dropdown lists: ItemAA, ItemAAA, ItemCC)
3 ItemZZ (dropdown lists: ItemZZ)
编辑:使用公式,而不是 VBA
編輯2:ID 和物品都将以百或千为单位进行计数。
谢谢
答案1
创建命名列表
- 首先,整理一下表格1按 ID
- 创建一个用名称
listlookup
(或其他名称)命名的范围。 - 把这个公式放在
listlookup
=OFFSET(INDIRECT(CELL("address", INDEX($B$2:$B$5, MATCH($C1, $A$2:$A$5, 0)))), 0, 0, COUNTIF($A$2:$A$5, $C1), 1)
ID | Items | lookup_value_here | dropdown_list_here
1 | ItemXY
1 | ItemXYZ
2 | ItemZ
2 | ItemZZ
- 创建下拉列表,并将列表引用至
listlookup
解释
INDEX($B$2:$B$5, MATCH($C1, $A$2:$A$5, 0))
找到第一个具有lookup_value
CELL( ... )
返回引用单元格的字符串(例如:$B$2
1 lookup_value
)
INDIRECT( ... )
将字符串引用转换为单元格引用
OFFSET( ... , 0, 0, ... , 1)
返回查找的范围(例如:B2:B3
1 lookup_value
)
COUNTIF( ... )
返回匹配的数据数量lookup_value
这很有趣,因为我以前也遇到过这个问题并且无法解决。