在Excel中使用单元格中的数据进行判断

我有三个单元格的forms,如A1 – 苹果,A2 – 香蕉和A3 – 桔子,B列是用户input数据的位置,每个水果有多less

如果用户填写表单为Apple = 2 Banana = 0和Oranges = 3

我希望代码输出为:“我想要2个苹果和3个桔子”。 用我的代码,如果用户不想要所有这三个成果,我在“And”中有问题。

我的公式是:=“我要”&B1&“”&A1&“,”&B2&“”&A2&“和”&B3&“”&A3,输出是“我要2苹果,0香蕉和3桔子”。 我想摆脱没有任何秩序或价值的单元格

你可以使用if

 ="I want "&IF(AND(B1 <>"",A1 <> ""),B1&" "&A1&",","") &IF(AND(B2 <>"",A2 <> ""),B2&" "&A2&",","")&" and "&IF(AND(B3 <>"",A3 <> ""),B3&" "&A3&",","") 

或者,你可以使用一套公式,其中每对你写你的,然后你把结果串在一起。 例如,如果在你写的C列第1行

 =IF(AND(B1 <>"",A1 <> ""),B1&" "&A1&",","") 

那么您可以使用自动填充句柄(选定单元格右下方的黑色方块)为所有其他行填充相同的公式(通过单击自动填充句柄并向下拖动),并将列C条目要么显示“FRUIT N”,要么“”然后把所有C列值都串在一起:

 ="I want "&C1&C2&C3 

我发现第二种方法不那么烦人。 Excel进行复制(和variablesreplace)。

这两种方法都不足以处理最后一个条目为空的情况,但它甚至不是一个合适的脚本语言,所以你必须活在其限制范围内,或者真正地超越条件语法。

其实我也做了一个类似的进程·与国家名单。 用户可以用checkboxselect所需的国家。 然后,一个公式·将计算国家的数量,并根据三个IF条件将它们串联在一起:只有一个国家,只有两个国家,而且有两个以上的国家。 IF条件决定了“和”是否在string中。

你可以用同样的想法来计算每个水果的反应情况,即如果只需要2个苹果和1个香蕉,那么会有2个实例。