有人能用逻辑级数来解释这个excel工作表公式吗?

2024-10-03 04:37:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将这个Excel工作表公式转换为Python,但我不完全理解发生了什么。我理解这段代码中的单元格引用和“if(logical\u test,[value\u if\u true],[value\u if\u 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")
  )
))

Tags: 代码amazonifvalueonb2maxover
1条回答
网友
1楼 · 发布于 2024-10-03 04:37:29

这应该很有趣。。。。所以您有一个名为Sales on Amazon的数据表,这是引用的。这就是你的数据所在。你知道吗

  1. 如果列K中的值等于字符串“Standard”,那么2到7是您的if语句的条件,8到17是您的条件。你知道吗

所有这些都需要TrueAND返回True

  1. 如果G列中的值是True,则0.875,否则0.75,如果大于或等于E列中的值
  2. 列范围的max大于或等于15

  3. 列范围的min小于或等于0.75

  4. 列范围的median小于或等于12

这是对AND的评估

  1. 如果2、3、4和5是TrueSML STND

  2. 否则LRG STND


这结束启动公式的第一条if语句的True条件。


这将开始启动公式的第一条if语句的False条件。


如果If语句的条件是True,则其中只有一个条件需要是True

  1. 如果列J中的值大于165

  2. 或者如果列E中的值大于150

  3. 或者列范围B, C, Dmax大于108

  4. 如果任何一个8, 9, or 10计算为True,那么SPL OVER

  5. 否则如果它们都是False,那么如果列J的值大于130,那么LRG OVER

ELSE 13到16是12的True条件,这是8、9和10的False条件。

只有一个语句需要返回true,整个Or语句才是True,17是False条件。

  1. 如果列E中的值大于70

  2. 或者列范围B, C, Dmax大于60

  3. 或者列范围B, C, Dmedian大于30

  4. 如果任何一个13, 14, or 15计算为True,那么MED OVER

  5. 否则SML OVER

就在这里。你知道吗

要测试它,只需查看数据并完成这些步骤,看看您得到的答案是否与Excel中的值相同。你知道吗


我之所以说列是因为我看到公式有$B2$D2等,所以我假设这个公式是为一系列数据复制下来的。但是,它只尊重同一行中那些列的值。你知道吗

相关问题 更多 >