我正在尝试将一系列参数/if 语句/等编码到 excel(没有 VBA)中,这些参数/if 语句/等将评估 3 个值并为样本返回适当的分类。
我在 excel 中有一个图表 (A),其中包含所有可能的变体。
我在同一张表中有一些数据:
单元格 F26 具有以下代码:
=IF(AND($E$23>=50,$E$25>=30),"CL",
IF(AND($E$23>=50,$E$25<30),"CH",
IF(AND($E$23<50,$E$25>=30),"ML",
IF(AND($E$23<50,$E$25<30),"MH",""))))
Cell F27 有以下代码:
=IF(AND($E$23>=7,$E$23<=10),
IF($E$25<4,"CL",IF($E$25>=7,"CL-ML","CL-OL")),
IF(AND($E$23>=10.01,$E$23<=18),IF($E$25<4,"ML",
IF($E$25>=7,"CL-ML",IF($E$25<7,"ML-CL","MH"))),
IF(AND($E$23>=18.01,$E$23<=25),IF($E$25<4,"MH",
IF($E$25>=10,"CH",IF($E$25>=4,"MH-CH","ML"))),
IF(AND($E$23>=25.01,$E$23<=40),IF($E$25<7,"CH",
IF($E$25>=4,"MH-CH",IF($E$25>=7,"CH-CL","CH-ML"))),
IF(AND($E$23>=40.01,$E$23<=60),IF($E$25<10,"OH",
IF($E$25>=10,"CH","OH-CH")),IF($E$23>60,"Pt"))))))
E31 单元格具有以下代码:
=IF($E$23<18,IF(AND($E$23>=7,$E$23<=10),
IF($E$25<4,"CL",IF($E$25>=7,"CL-ML","CL-OL")),
IF(AND($E$23>=10.01,$E$23<=18),IF($E$25<4,"ML",
IF($E$25>=7,"CL-ML",IF($E$25<7,"ML-CL","MH"))))),
IF(AND($E$23>=18,$E$23<=25),IF($E$25<4,"CL-ML",
IF($E$25>=7,"CH-CL",IF($E$25>=4,"ML-CH","CH"))),
IF(AND($E$23>25,$E$23<=40),IF($E$25<7,"ML-CH",
IF($E$25>=10,"CH",IF($E$25>=4,"MH-CH","ML"))),
IF(AND($E$23>40,$E$23<=60),IF($E$25<10,"OH-CH",
IF($E$25>=10,"CH","OH")),IF($E$23>60,"Pt",
IF(AND($F$4<=15,$E$25<50),"CL-ML",
IF(AND($F$4<=15,$E$25>=50),"ML-CH",
IF(AND($F$4>15,$F$4<=40,$E$25<50),"CL",
IF(AND($F$4>15,$F$4<=40,$E$25>=50),"CH",
IF($F$4>40,"OH"))))))))))
但是我得到的结果与这个问题开头提到的 Casagrande 可塑性图表 A 值不匹配。
我尝试了以下代码变体但无济于事 - 它们会产生 #N/A 错误或“未找到错误:
# 1
=INDEX($AD$2:$AD$16,
MATCH(1,($AE$2:$AE$16<=$E$23)*
($AF$2:$AF$16>=$E$24)*
($AG$2:$AG$16>=$E$25),0))
# 2
=IFERROR(INDEX($AD$1:$AI$16,
MATCH(E23&"-"&E24&"-"&E25,
$AD$1:$AD$16&"-"&$AE$1:$AE$16&
"-"&$AF$1:$AF$16,0),
MATCH("PI",$AD$1:$AI$1,0)),"Not Found")
# 3
=IFERROR(INDEX($AD$2:$AI$16,
MATCH($E$23,$AD$2:$AD$16,0),
MATCH($E$24,$AD$1:$AI$1,0)+
MATCH($E$25,$AD$1:$AI$1,0)-1),"Not found"
重申。我想要一个单元格根据满足图表 A 中所述质量的 3 个单元格的内容返回土壤定义,但我没有运气。有人可以帮忙吗?
我已经按照指定在 Excel 中尝试了几行代码,但似乎都没有解决问题。