gpt4 book ai didi

vba - 当 A 列中的项目的值在 B 列中至少找到一次时,返回一些东西

转载 作者:行者123 更新时间:2023-12-04 22:03:02 25 4
gpt4 key购买 nike

我正在寻找解决以下问题的 ab Excel 公式:

我在 A 列中有帐号列表,在 B 列中有与每个帐户关联的收费方法列表。一个帐户可以关联几种收费方式 - 例如:

Account no  Charge method
A1 IC1
A1 IC2
A1 Exempt
A2 IC1
A2 IC2
A3 IC1
A3 IC2
A3 IC3
A3 Exempt
A4 IC1
A4 IC2
A4 Exampt

我想指定哪个帐户至少有一种收费方式“豁免”。例如:如果在 B 列中至少提到一次 A1 帐户的“Exempt”,则在 C 列中的值“Exempt”。我尝试使用 vlookup TRUE,但我不确定它是否总是准确的。

最佳答案

这个简单的公式无需任何辅助列或 VBA 即可工作:

=IF(SUM(--($A$2:$A$13=A2)*($B$2:$B$13="Exempt"))>0,"Exempt","")

使用 Ctrl Shift Enter 作为数组公式输入,然后向下复制。

enter image description here

笔记:
  • $A$2:$A$13=A2返回一个包含 {TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE} 的数组.
  • $B$2:$B$13="Exempt" 的想法相同: 它返回 {FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE}
  • --将 bool 值 TRUE/FALSE 转换为 1/0。
  • 使用 * 将这些 1 和 0 相乘相当于对相应的 bool 值进行逻辑与;结果是{0;0;1;0;0;0;0;0;0;0;0;0}
  • 如果该数组的总和大于零,那么您就有了匹配项。
  • 关于vba - 当 A 列中的项目的值在 B 列中至少找到一次时,返回一些东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31158625/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com