我在Excel中有两列。 KEY和AMT
KEY AMT
DATEID_1 200
DATEID_2 6142
DATEID_1 9700
DATEID_2 4500
我需要解决的是每个键 - 如果整个表中该键的金额之和大于10000 - 但密钥中的个别金额均小于10000。
因此,上述假定的输出将是
KEY AMT FLAG
DATEID_1 200 OK
DATEID_2 6142 NOT OK
DATEID_1 9700 OK
DATEID_2 4500 NOT OK
确定DATEID_1,因为
9700 + 200 = 9900 which is less than 10000
but each amount less than 10000
不适合DATEID_2,因为
6142 + 4500 = 10642 which is greater than 10000
but each amount less than 10000
希望我足够清楚。我不能使用VBA。
编辑:使用@Alexis Olson公式对以下内容不起作用。
KEY AMT
DATEID_3 26950
DATEID_3 26950
DATEID_4 38000
答案 0 :(得分:1)
要得到这个:
KEY AMT FLAG
DATEID_1 200 OK
DATEID_2 6142 NOT OK
DATEID_1 9700 OK
DATEID_2 4500 NOT OK
您只需将条件与AND
=IF(AND(MAX(B:B*(A:A=A2))<10000,SUMIF(A:A,A2,B:B)<10000),"OK","NOT OK")
这会获取KEY
与当前行KEY
匹配的最大值,并检查它是否小于10000,并使用SUMIF
将所有AMT
与KEY
相加匹配AMT
并检查是否小于10000。
请注意,这是一个数组公式,因此应使用 Ctrl + Shift + Enter 输入。
这会再现您的给定输出。但是,我不确定您声明的输出是否符合您的意思。假设您的Range.TextToColumns
列包含正值,那么您的第一个条件是多余的,因为求和小于10000意味着每个个体小于10000。