我正在试图弄清楚是否可以从列表中选择一个Excel项目 - 当该列表在单个单元格中时 - 使用预定义函数,或者如果我将不得不自己编写VBA实现它。
类似于=CHOOSE()
函数的东西似乎就是我所需要的,因为如果所有值都在不同的单元格中,它就会起作用:
A 的 乙
1 阿尔法 =选择(2,A1,A2,A3,A4,A5)
2 β
3 伽马
4 增量
5 小量
上面的单元格 B1 中的公式给出了我期望的值:“beta”。
但是构建源数据的方式,值都在同一个单元格中:
A 的 乙
1 α,β,γ,δ,ε =选择(2,A1)
在此构造中, B1 中的论坛会导致#VALUE!
错误。我做理解为什么会出现这个错误 - 但我想知道是否有这样的错误:
如果Excel无法处理它,我会编写自己的函数 - 但这似乎是一种直截了当的需求,我认为该程序是在某个地方构建的。
答案 0 :(得分:0)
如果你在A1中有csv列表,那么运行这个宏:
Sub Macro1()
With Range("B1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Range("A1").Value
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
答案 1 :(得分:0)
如果您点击要拆分的单元格,请点击"数据>文字到列"然后您可以将逗号中的数据拆分为单独的单元格。然后,您可以使用您习惯使用的“选择”公式。
在Text to Columns功能中,您需要专门选择" Delimited"选项在第一页上,然后选择"逗号"在第二页上,如果您的数据与上述示例中的数据完全相同。