excel - 具有百分比输出的 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..
我认为这可能是最简单的方法,但我坚持三件事;
- 如何处理负数
- 如何做“大于数字但小于数字”(而不仅仅是大于/小于),以及
- 如何将结果显示为百分比(我只知道如何返回 TRUE 或 FALSE),即:
=IF(AND(A2:A100>5,B2:B100>5),TRUE, FALSE)
解决方案
如果您有最新版本的 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)
如果没有,那么一种简单的方法是执行您最初在帮助列中尝试的操作,然后将结果除以总行数。
要回答您的问题:
对于负数,例如 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)
从逻辑上讲,它并不是真正的“大于数字但小于数字”,而是“大于数字且小于数字”。问题 1 中的示例显示了这一点。
要获得百分比,您将所有值相加,然后除以总数。在
IF
语句中,您可以返回任何内容(格式为=IF(test_is_true, value1, value2)
),因此在上面的示例中,我选择在行满足我们的条件时返回 1。
推荐阅读
- linux - 未找到 Korn Shell 路径
- javascript - 如果它不是 Javascript 中的鼠标悬停,则降低其他文本的不透明度
- javascript - 在 Google Firebase 上部署 Nuxt 2 通用 (SSR) 应用程序
- excel - 用值预填充 UserForm 中的 TextBox
- python-3.x - 通过WSL在pycharm中配置git
- c - 如果这是一个数组还是一个整数,有没有办法在编译时知道(并且不会失败)?
- sql - 过程错误:无法将“System.DBNull”类型的对象转换为“System.String”类型
- java - 如何使用 JNI 在 Android 中包含不可修改的原生 C++?
- c# - 请求被中止:无法使用 Restsharp 创建 SSL/TLS 安全通道
- javascript - 相同的索引在循环中给出不同的 DOM 元素