在excel中使用countifs
我在使用这个函数时遇到了一些问题。问题是无论我做什么,它只计算0。 所以我在excel中为随机的人准备了3张不同的表格,其中包含不同的信息。我需要做的是,将不同的列与其中包含某种标准的信息进行比较 例如: 在表1中有一列是他们的工资 在表2中,有您在当前公司可获得的最高工资,以及“是/否”列(如果他们是否纳税) 在表3中有两列,分别列出每个人支付的费用和他们拥有的贷款 因此,我需要做的是在表4中计算他们中有多少人的工资比最高工资少50美元或多50美元,支付的贷款比他们的费用多80美元,并且正在纳税在excel中使用countifs,excel,Excel,我在使用这个函数时遇到了一些问题。问题是无论我做什么,它只计算0。 所以我在excel中为随机的人准备了3张不同的表格,其中包含不同的信息。我需要做的是,将不同的列与其中包含某种标准的信息进行比较 例如: 在表1中有一列是他们的工资 在表2中,有您在当前公司可获得的最高工资,以及“是/否”列(如果他们是否纳税) 在表3中有两列,分别列出每个人支付的费用和他们拥有的贷款 因此,我需要做的是在表4中计算他们中有多少人的工资比最高工资少50美元或多50美元,支付的贷款比他们的费用多80美元,并且正在纳
我用countif和countifs尝试了不同的方法,但它总是显示0。谢谢您的时间。选项1-高级过滤器 为了做到这一点,您可以考虑一个有用的替代选项。。。。高级过滤器。高级过滤器确实要求您将数据聚合到一个页面上,但随后允许您查询多个条件。这里是指向的高级过滤器部分的链接。如果你不想仅仅使用基本公式,这将是一个很好的起点 如果您确实走这条路线,请按照网站上的步骤进行操作:
- 在电子表格的顶行中插入已选择的各种条件,并在列表范围中指定这些行
- 将条件范围设置为在单个工作表上保存所有数据的位置
- 运行过滤器并查看结果数据。您可以轻松地对缩减后的数据集中的记录数进行计数
如果您确实喜欢冒险,可以选择尝试使用visual basic代码编写解决方案。这将为您提供完美的控制,因为您可以为每个条件精确指定要查看的范围。不幸的是,您需要了解VB代码才能使用此解决方案。有一些优秀的在线资源可以帮助解决这个问题。 < P> <强>不针对点。< /强>无论如何,我个人认为这不是最好的答案。 在某个地方可能会有一个优雅的解决方案,或者其他人可以提出。但是,我建议您在这一点上采取长路线,并设置帮助器列 您可以进行三次单独检查和一次最终检查:
ABS
差值是否在50以内IF
或平等性检查(贷款费)>=80
Sheet4
中的表只需VLOOKUP
假设是一个重建的表,下面是我的尝试:
在另一个选项卡中打开图像以清楚地看到它
G2
、H2
、I2
和J2
的公式如下:
G2: =ABS(C2-B2)<=50
H2: =D2="Y"
I2: =(F2-E2)>=80
J2: =G2*H2*I2
G2:=ABS(C2-B2)=80
J2:=G2*H2*I2
显然,J
列中的值之和就是您的计数。或者您可以只计算列中有多少个1
。方法基本上取决于您
这样做的好处是,您可以立即看到谁有资格进行哪项检查。任何Check
列上的简单过滤器都可以隔离特定员工。从某种意义上说,使用辅助列所提供的精度远远超过公式所能提供的精度
请随意下载我的工作表样本。我认为有一个公式,例如:
=COUNTIFS(G:G,">"&80,D:D,1,C:C,">"&max_sal+50)+COUNTIFS(G:G,">"&80,D:D,1,C:C,"<"&max_sal-50)
=COUNTIFS(G:G,“>”&80,D:D,1,C:C,“>”&max_sal+50)+COUNTIFS(G:G,“>”&80,D:D,1,C:C,“COUNTIFS
如果不做一些修改,将无法使用它,因为您需要根据某个值(最大+/-50)检查每个人的工资。使用辅助单元格或相当复杂的使用SUMPRODUCT
,这样做更好。那么我如何使用这些辅助单元格呢?@pnuts:我也这么想,但我认为出于开销的考虑,辅助列或单元格会对OP更有利。不过,我不知道。我从来都不喜欢公式。如果是VBA,这很简单。:DMake我甚至回答这个问题的原因是,我现在有一个类似的数据集,我尝试了很多选择,但采用了一种非常肮脏的多字典方法,针对每个条件运行,“去掉”不符合下一个标准的项(实际上,这只是创建一个新字典).然而,经过几个小时的良好使用,我发现尽管它是完美的,但我真的无法从中分离出任何有意义的数据。因此,我只是采用了与上述类似的多公式方法。:)