excel - 如何在 Excel 中比较两个具有优先级的文本值?
问题描述
我有两个列表,都包含这 4 个文本值:“大陆”、“岛屿”、“城市”和“DP”。我试图创建一个函数来检查每行中 2 的组合。但是我走到了死胡同,我想不出该怎么做。彼此之间的优先级是:城市<大陆<岛屿<DP。一个例子是:
它的两列(“From”和“To”)充满了“Mainland”、“Island”、“City”和“DP”,形成如上所示的随机组合。我需要一种方法,在“类别”列中,在每一行中,按照城市 < 大陆 < 岛屿 < DP 原则,在每一行中显示优于其他的单词。例如,岛在城市上方,因此结合这两个,类别显示“岛”。
这个想法类似于 1<2<3 ,它一次比较两个组合并将较高的组合放入单元格
解决方案
在单元格中D2
粘贴以下公式:
=IF(MATCH(B2,{"City","Mainland","Island","DP"},)>=MATCH(C2,{"City","Mainland","Island","DP"},),INDEX({"City","Mainland","Island","DP"},MATCH(B2,{"City","Mainland","Island","DP"},)),INDEX({"City","Mainland","Island","DP"},MATCH(C2,{"City","Mainland","Island","DP"},)))
现在向下复制公式。
但是,更好的方法是在值表的某处按顺序创建一个列表。例如:
Z1
= 城市
Z2
= 大陆
Z3
= 岛
Z4
= DP
现在,选择Z1:Z4
并使用名称框来命名该范围:Order
现在公式可以简化为:
=IF(MATCH(B2,Order,)>=MATCH(C2,Order,),INDEX(Order,MATCH(B2,Order,)),INDEX(Order,MATCH(C2,Order,)))
更简洁的方法仍然是使用名称管理器 (Ctrl-F3) 将列表存储为命名公式,Order
:
={"City","Mainland","Island","DP"}
这样,您就不必用有序列表定义弄乱工作表。
推荐阅读
- javascript - React 导入背景图片
- cardano - Daedalus 钱包如何识别有效的 cardano 支付地址?
- python - 用 numpy 在两个矩阵之间进行插值
- javascript - 在javascript中具有给定ID的组数组
- mysql - 如何使用对象数组从 JSON 列中查询数据
- python - 遇到内存限制时如何避免在python子进程模块中使用shell = True
- kubernetes - Kubernetes 入口 nginx 重定向到 https
- c++ - freeglut 库没有正确链接。有什么方法可以将链接器指向正确的位置?
- node.js - 如何创建可摇树的反应模块?package.json“出口”不工作
- ansible - 配置 ansible 任务以使 helm 部署对 Internet 连接问题具有容错能力的正确方法是什么?