首页 > 解决方案 > 具有百分比输出的 Excel IF AND 语句

问题描述

我有一个坐标数据集,除了坐标被分成两列 X 和 Y。

我试图在一个象限中找到坐标的百分比,并认为 IF/AND 语句会起作用,即

IF "numbers in X Column is between -5 and 0" AND "numbers in Y is between -5 and 0" then display total as Percentage of all data
IF "numbers in X Column is between 0 and 5" AND "numbers in Y is between 0 and 5" then display total as Percentage of all data

Etc..

我认为这可能是最简单的方法,但我坚持三件事;

  1. 如何处理负数
  2. 如何做“大于数字但小于数字”(而不仅仅是大于/小于),以及
  3. 如何将结果显示为百分比(我只知道如何返回 TRUE 或 FALSE),即:
=IF(AND(A2:A100>5,B2:B100>5),TRUE, FALSE)

标签: excelif-statementexcel-formulastatistics

解决方案


如果您有最新版本的 Excel,则可以使用FILTER.

例如,如果您要查找 Q1 中坐标的百分比 (0<=X<=5, 0<=Y<=5),您可以使用类似以下内容:

=ROWS(
FILTER($A$2:$B$100, 
(($A$2:$A$100>=0)*($A$2:$A$100<=5)*($B$2:$B$100>=0)*($B$2:$B$100<=5))))/
ROWS($A$2:$A$100)

如果没有,那么一种简单的方法是执行您最初在帮助列中尝试的操作,然后将结果除以总行数。

要回答您的问题:

  1. 对于负数,例如 Q3,只需使用负数。就像是: =IF(AND($A$2:$A$100>=-5, $A$2:$A$100<=0, $B$2:$B$100<=0, $B$2:$B$100>=-5),1, 0)

  2. 从逻辑上讲,它并不是真正的“大于数字但小于数字”,而是“大于数字且小于数字”。问题 1 中的示例显示了这一点。

  3. 要获得百分比,您将所有值相加,然后除以总数。在IF语句中,您可以返回任何内容(格式为=IF(test_is_true, value1, value2)),因此在上面的示例中,我选择在行满足我们的条件时返回 1。


推荐阅读