如何用公式按A>B>C优先级匹配Name生成Fin列?
问题解决:按优先级生成fin列
原始数据表格
| A | B | C | name | pri | fin |
|---|---|---|---|---|---|
| 1 | 0 | 0 | abcd | A | A |
| 0 | 1 | 0 | abcd | B | A |
| 0 | 1 | 0 | dfgh | B | B |
| 0 | 0 | 1 | dfgh | C | B |
生成规则
已知A、B、C、name、pri列数据,生成fin列需遵循以下规则:
- 每个
name对应唯一的fin值 - 优先级判定顺序为 A > B > C:
- 优先提取该
name下A列值为1的记录对应的pri值作为fin - 若该name无A=1的记录,则提取B列值为1的记录对应的pri值
- 若B=1的记录也不存在,最后提取C列值为1的记录对应的pri值
- 优先提取该
示例结果说明
- 对于
name=abcd:存在A=1的记录(pri=A),因此所有该name的fin值统一为A - 对于
name=dfgh:无A=1的记录,但存在B=1的记录(pri=B),因此所有该name的fin值统一为B
内容的提问来源于stack exchange,提问作者richinrix
相关产品推荐
相关产品推荐

