拥有Excel公式或VBA代码映射到列表的最佳方法是什么?
我有一个有两列的Excel工作表
名称和城镇
同一城镇有许多行(但每行都有一个独特的名字)
所以这里是一个例子:
|| 名称|| 镇||
| 乔| NYC |
| 比尔| NYC |
| 汤姆| NJ |
我现在想要有由Town填充的下拉列表,当我点击下拉列表并select一个城镇时,它会在工作表上的一个单元格中放置名称的连接列表。
所以在这个例子中,下拉菜单会显示NJ和NYC,如果我select了NYC,它会显示:
“乔,比尔”在一个牢房里
任何build议,如果这是可能的?
第一部分,下拉列表 – 使用数据validation。 请参阅链接
在Excel中创build包含独特的不同值的从属下拉列表
第2部分,根据select更新单元格:
使用Worksheet_Change
事件,监视包含Towns列表值的单元格的更改。
如果你想避免VBA的最后一部分,你可以创build一个助手列到列表的一侧。
如果您的表如A1:B3所示,则在C列中创build一个帮助列,如下所示
对于第一行,辅助函数公式将为= IF(B1 = SelectedCity,A1&“,”,“”)对于第二行,辅助函数公式将为= C1&IF(B2 = SelectedCity,A2&“,”, “”)复制这第二行所有剩余的行。
这个公式归纳地build立一个以逗号分隔的名字列表,取决于选定的城市。
最后,在公式分隔的string的末尾用公式= IF(RIGHT(C3,2)=“,”,LEFT(C3,LEN(C3)-2),C3)修剪掉额外的逗号。
这是你需要的string。