【发布时间】:2015-07-16 03:23:11
【问题描述】:
我正在尝试将此 Excel 工作表公式转换为 Python,但我不完全理解发生了什么。我了解此代码中的单元格引用和“if(logical_test,[value_if_true],[value_if_false]”格式,但是在尝试理解它时我迷失在这段代码中:
=IF('Sales on Amazon'!$K2="Standard", IF(
AND(
IF(
'Sales on Amazon'!$G2,
14/16,
12/16
)
>='Sales on Amazon'!$E2,
MAX(
'Sales on Amazon'!$B2:$D2
)
<=15,
MIN(
'Sales on Amazon'!$B2:$D2
)
<=0.75,
MEDIAN(
'Sales on Amazon'!$B2:$D2
)
<=12
),
"SML STND",
"LRG STND"
),
IF(
OR(
'Sales on Amazon'!$J2>165,
'Sales on Amazon'!$E2>150,
MAX(
'Sales on Amazon'!$B2:$D2
)>108
),
"SPL OVER",
IF(
'Sales on Amazon'!$J2>130,
"LRG OVER",
IF(
OR(
'Sales on Amazon'!$E2>70,
MAX(
'Sales on Amazon'!$B2:$D2
)>60,
MEDIAN(
'Sales on Amazon'!$B2:$D2
)>30
),
"MED OVER",
"SML OVER")
)
))
【问题讨论】:
-
我认为这部分有问题。 IF('亚马逊销售'!$G2, 14/16, 12/16 ) >='亚马逊销售'!$E2,你能检查并转发吗?您还可以在帖子中放置公式的内联副本,因为它可以更轻松地复制并粘贴到 Excel 中进行试用。
-
除非 G2 中的值是布尔值,在这种情况下,它会评估为真或假。您能否也发布一小部分数据样本。
-
@AMR - 任何数字都可以。出于所有意图和目的,Excel 将零视为 False,任何不为假的都是 True。将
=AND(A1)放在B1 中,看看如何获得一个False。 -
@andrewd12。如果您认为我提供的答案对您有所帮助,考虑到所花费的时间,如果您能将我的答案标记为已接受,我将不胜感激。谢谢。
-
这是我能想到的最好的。 Excel Worksheet Formula in a Logical Progression。请注意,我已将工作表重命名为 aos 以减少混淆。
标签: python excel excel-formula