塔防平衡表中如何设置Data Validation实现下拉显名返值?
实现方法:下拉显示效果名,实际存数值参与计算
下面给你两种可行的实操方案,选一种适合你的就行:
方案一:自定义名称+数据验证+自定义格式
这种方法不需要额外辅助列,适合数据量小的场景(比如你这5种效果):
- 定义名称映射数值
打开「公式」选项卡→「名称管理器」→「新建」,依次为每个效果创建名称:- 名称填
bleed,引用位置输入=0.25,确定 - 名称填
burn,引用位置输入=0.2,确定 - 名称填
hammon,引用位置输入=0.4,确定 - 名称填
scarlet burn,引用位置输入=0.6,确定 - 名称填
poison,引用位置输入=0.125,确定
- 名称填
- 设置数据验证下拉
选中目标单元格K12,打开「数据」选项卡→「数据验证」:- 允许类型选「序列」,来源栏输入
bleed,burn,hammon,scarlet burn,poison(注意逗号是英文半角),勾选「提供下拉箭头」,确定
- 允许类型选「序列」,来源栏输入
- 设置自定义格式显示名称
右键K12→「设置单元格格式」→「数字」→「自定义」,在类型框里输入:
确定后,你下拉选某个效果名时,K12实际存储的是对应数值(比如选bleed存0.25),但单元格显示的是效果名,完全不影响[=0.25]"bleed";[=0.2]"burn";[=0.4]"hammon";[=0.6]"scarlet burn";[=0.125]"poison";G/通用格式=(K6/K8)+(K6/K12)的计算。
方案二:辅助列+数据验证+VLOOKUP(适合后期效果会新增的情况)
如果以后要加更多效果,用辅助列管理更方便:
- 建立效果-数值映射表
在当前工作表的空白区域(比如Z1:Y5,之后可以隐藏这个区域)输入对应关系:效果名 数值 bleed 0.25 burn 0.2 hammon 0.4 scarlet burn 0.6 poison 0.125 - 设置数据验证下拉
选中K12,打开「数据验证」→允许选「序列」,来源选刚才的效果名列(比如Z1:Z5),确定,这样下拉显示效果名。 - 用VLOOKUP获取对应数值
把K12用来显示效果名,旁边新增一个单元格(比如L12)存数值,L12输入公式:
然后把DPS公式改成=VLOOKUP(K12,$Z$1:$Y$5,2,FALSE)=(K6/K8)+(K6/L12),最后可以隐藏L列,不影响表格美观。
注意:方案一要确保名称里的空格和数据验证输入的完全一致;方案二的映射表要加绝对引用符号$,防止公式偏移。
内容的提问来源于stack exchange,提问作者Bobcat 17
相关产品推荐
相关产品推荐

