使用此功能时遇到了一些问题。无论我做什么,它都只有0。 所以我在excel中有3个不同的表,其中包含随机人员的不同信息。我需要做的是,将不同的列与具有某种标准的信息进行比较。
例如:
在sheet1中有他们工资的列。
在sheet2中有最大值。您可以在当前公司获得的工资,如果他们是否纳税,则为是/否。
在sheet3中有2列,每个人都支付多少费用以及他们有什么贷款。
所以我需要做的是在sheet4中计算他们中有多少人获得的薪水少于或超过最高50美元。一,支付高于其费用80美元的贷款,并且正在纳税。
我尝试了与countif和countifs不同的东西,但它总是让我感觉0.谢谢你的时间。
答案 0 :(得分:1)
选项1 - 高级过滤器
为了做到这一点,你可能会看一个有用的替代选项....高级过滤器。高级过滤器确实要求您在一个页面上聚合数据,但随后可以让您查询多个条件。以下是Microsoft Excel 2010高级过滤器部分的链接。如果您想要使用基本公式,那么这将是一个很好的起点。
如果你沿着这条路走下去,请按照步骤的说明按照网站上的说明进行操作:
在电子表格的顶行中插入您选择的各种条件,并在列表范围中指定这些行
将条件范围设置为将所有数据保存在单个工作表上的位置
运行过滤器并查看结果数据。您可以轻松计算该简化数据集中的记录数。
选项2 - 数据透视表
您可以在此处查看的另一个选项是使用数据透视表,但同样,您的数据必须在一个工作表上聚合在一起。 Pivot tables and pivot charts只是我每天在工作场所使用的非凡工具,可以完全满足您的需求。
选项3 - 使用Visual Basic
如果您真的喜欢冒险,可以选择尝试使用可视化基本代码来编写解决方案。这将为您提供完美的控制,因为您可以精确指定每个条件的范围。不幸的是,您需要了解VB代码才能使用此解决方案。有一些优秀的在线资源可以帮助解决这个问题。
答案 1 :(得分:1)
不是针对点。我个人认为这不是最好的答案。
某处可以有一个优雅的解决方案或其他人可以呈现。但是,我建议你在这个路线上采取漫长的路线并设置辅助列。
您可以进行三次单独检查和一次最终检查:
ABS
差异是否在50以内。IF
或平等检查。(LOAN-FEE) >= 80
。如果您的员工姓名在每张工作表中,那么在Sheet4
中重建表格只是VLOOKUP
的一个简单问题。
假设重建的桌子,这是我的尝试:
在另一个标签页中打开图像以清楚地看到它。
G2
,H2
,I2
和J2
的公式如下:
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开始 - 但我不热衷于在没有样本数据的情况下进行测试。
而且,和其他人一样,我会采用辅助列方式。