Excel 解析十六进制并查找
A1 格由多个人名及其考勤情况组成,比如,c 是十六进制的 1100,表示第 1、2 天到场,第 3、4 天缺席。目前只有 4 天的考勤。
A |
B |
|
1 |
alice,c,bob,7,clara,a,mike,9 |
/input: name and presence |
2 |
2 |
/input: the day to be queried |
要求根据 A2 中输入的天数,查询当天有多少人到场。比如第 1 天 3 人到场,第 3 天 2 人到场。
使用 SPL XLL,输入公式:
=spl("=theDay=shift(1,?2-4),?1.split@c().step(2,2).count(and(bits@h(~),theDay)>0)",A1,A2)
函数 shift 用于整数移位,step(2,2) 表示隔 2 位取第 2 个成员,bits@h解析十六进制数,and 用于 bit 的 "与" 运算,~ 表示当前成员。
大佬,这个结果是 2 还是 3?
英文版
根据参数 A2 来,A2=3 时,计算结果是 2。A2=1,计算结果是 3.
懂了,我看叉劈了😂 🙏
文中源数据举例和你实际算的时候的 A2 值不一致,上边是 2,下边是 1。
我也没细看。