如何在Google表格中缩短此语法?

时间:2019-03-10 01:16:30

标签: google-sheets

(Google表格)=IFS的语法可以改进吗?

=IFS(and(E42>E38;E42>E34;E42>E30;E42>E26;E42>E22;E42>E18); "Cattleman"; 
and(E38>E42;E38>E34;E38>E30;E38>E26;E38>E22;E38>E18); "Naturalist"; 
and(E34>E42;E34>E38;E34>E30;E34>E26;E34>E22;E34>E18); "Farmer"; 
and(E30>E42;E30>E38;E30>E34;E30>E26;E30>E22;E30>E18); "Carpenter"; 
and(E26>E42;E26>E38;E26>E30;E26>E34;E26>E22;E26>E18); "Blacksmith"; 
and(E22>E42;E22>E38;E22>E30;E22>E34;E22>E26;E22>E18); "Miner"; 
and(E18>E42;E18>E38;E18>E30;E18>E34;E18>E22;E18>E26); "Builder")

如何添加默认值,以便如果此语法返回FALSE,则在单元格中不显示#N/A!,而是显示“ No class”或类似内容(或为空)?

2 个答案:

答案 0 :(得分:0)

将其包裹在IFERROR中,如下所示:

=IFERROR(IFS(
 AND(E42>E38;E42>E34;E42>E30;E42>E26;E42>E22;E42>E18);"Cattleman";
 AND(E38>E42;E38>E34;E38>E30;E38>E26;E38>E22;E38>E18);"Naturalist"; 
 AND(E34>E42;E34>E38;E34>E30;E34>E26;E34>E22;E34>E18);"Farmer"; 
 AND(E30>E42;E30>E38;E30>E34;E30>E26;E30>E22;E30>E18);"Carpenter"; 
 AND(E26>E42;E26>E38;E26>E30;E26>E34;E26>E22;E26>E18);"Blacksmith"; 
 AND(E22>E42;E22>E38;E22>E30;E22>E34;E22>E26;E22>E18);"Miner"; 
 AND(E18>E42;E18>E38;E18>E30;E18>E34;E18>E22;E18>E26);"Builder");
 "No class")

答案 1 :(得分:0)

一种明显的方法是将MAX替换为AND。为什么?在第一行中,如果E42大于所有其他单元格,则它必须大于它们的MAX。所以这行的条件

E42 > MAX(E38; E34; E30; E26; E22; E18)

看起来更干净。重复其他行。

尝试进一步简化,公式的逻辑似乎是根据哪个单元格最大,选择特定的文字值。有一个功能!我会尝试一下(尽管无法访问您的数据也无法测试)

=CHOOSE(
   MATCH(
     MAX(E42; E38; E34; E30; E26; E22; E18);
     {E42; E38; E34; E30; E26; E22; E18});
   "Cattleman"; "Naturalist"; "Farmer"; "Carpenter"; "Blacksmith"; "Miner"; "Builder")