在excel中使用countifs

时间:2014-04-10 19:08:59

标签: excel

使用此功能时遇到了一些问题。无论我做什么,它都只有0。 所以我在excel中有3个不同的表,其中包含随机人员的不同信息。我需要做的是,将不同的列与具有某种标准的信息进行比较。

例如:

在sheet1中有他们工资的列。

在sheet2中有最大值。您可以在当前公司获得的工资,如果他们是否纳税,则为是/否。

在sheet3中有2列,每个人都支付多少费用以及他们有什么贷款。

所以我需要做的是在sheet4中计算他们中有多少人获得的薪水少于或超过最高50美元。一,支付高于其费用80美元的贷款,并且正在纳税。

我尝试了与countif和countifs不同的东西,但它总是让我感觉0.谢谢你的时间。

3 个答案:

答案 0 :(得分:1)

选项1 - 高级过滤器

为了做到这一点,你可能会看一个有用的替代选项....高级过滤器。高级过滤器确实要求您在一个页面上聚合数据,但随后可以让您查询多个条件。以下是Microsoft Excel 2010高级过滤器部分的链接。如果您想要使用基本公式,那么这将是一个很好的起点。

如果你沿着这条路走下去,请按照步骤的说明按照网站上的说明进行操作:

  • 在电子表格的顶行中插入您选择的各种条件,并在列表范围中指定这些行

    • 将条件范围设置为将所有数据保存在单个工作表上的位置

    • 运行过滤器并查看结果数据。您可以轻松计算该简化数据集中的记录数。

enter image description here

选项2 - 数据透视表

您可以在此处查看的另一个选项是使用数据透视表,但同样,您的数据必须在一个工作表上聚合在一起。 Pivot tables and pivot charts只是我每天在工作场所使用的非凡工具,可以完全满足您的需求。

选项3 - 使用Visual Basic

如果您真的喜欢冒险,可以选择尝试使用可视化基本代码来编写解决方案。这将为您提供完美的控制,因为您可以精确指定每个条件的范围。不幸的是,您需要了解VB代码才能使用此解决方案。有一些优秀的在线资源可以帮助解决这个问题。

答案 1 :(得分:1)

不是针对点。我个人认为这不是最好的答案。

某处可以有一个优雅的解决方案或其他人可以呈现。但是,我建议你在这个路线上采取漫长的路线并设置辅助列。

您可以进行三次单独检查和一次最终检查:

  1. 要比较最高工资和员工当前工资,请检查ABS差异是否在50以内。
  2. 纳税身份易于IF或平等检查。
  3. 对于贷款,只需进行简单检查:(LOAN-FEE) >= 80
  4. 乘以上述三者的真值。
  5. 如果您的员工姓名在每张工作表中,那么在Sheet4中重建表格只是VLOOKUP的一个简单问题。

    假设重建的桌子,这是我的尝试:

    enter image description here

    在另一个标签页中打开图像以清楚地看到它。

    G2H2I2J2的公式如下:

    G2: =ABS(C2-B2)<=50
    H2: =D2="Y"
    I2: =(F2-E2)>=80
    J2: =G2*H2*I2
    

    显然,J列中的值总和就是您的计数。或者您可以计算列中有多少1。这种方法基本取决于你。

    这样做的好处是你可以立即看到谁有资格参加哪项检查。任何Check列上的简单过滤器都可以隔离特定员工。从某种意义上说,拥有辅助列所提供的准确性远远超过公式可以提供的精确度。

    随意下载我的示例工作表here

答案 2 :(得分:0)

我认为这样的公式如下:

=COUNTIFS(G:G,">"&80,D:D,1,C:C,">"&max_sal+50)+COUNTIFS(G:G,">"&80,D:D,1,C:C,"<"&max_sal-50)  

可能与Sheet3中的帮助列一起用于贷款和费用之间的差异,税标志1(支付)和0(不支付)以及Sheet4中的数据透视表是从多个合并范围构建的,其中列标题为工资,税,费用,贷款和差异(按此顺序)从C4开始 - 但我不热衷于在没有样本数据的情况下进行测试。

而且,和其他人一样,我会采用辅助列方式。