如何根据另一个单元格中的值填充单元格中的值?

时间:2017-05-28 14:52:09

标签: excel excel-vba excel-formula vba

Click the image

从图像开始,我想知道如何从J列中给出的极性填充极性(按照额定值)。

的收视率
P+=5
P=4
NEU=3
N=2
N+=1

极性极性(评级) P
P +
P
P
P
P
P
P
P
P +
P +
P
P
NEU P
ñ
P
P
P
P
P
P
P
P
NEU P
P
P
P +
P
N +

2 个答案:

答案 0 :(得分:2)

虽然具有嵌套IF的公式可以执行此操作,但请始终考虑在适当的位置使用MATCH,例如您具有此类枚举的位置。它产生更简单,更易读的公式,更容易扩展。

=MATCH(TRIM(J2), {"N+","N","NEU","P","P+"},0)

0参数指定完全匹配。

返回的值将是数组中匹配项的“位置”,如果找不到,则为#NA

答案 1 :(得分:0)

这个公式可以解决问题。我假设您的桌子以A1开头,如果不是,您只需要调整参考。

第1步:在Polarity(评分)下的第一个单元格中写下以下内容:

=IF(A2="P+";5;IF(A2="P";4;IF(A2="NEU";3;IF(A2="N";2;IF(A2="N+";1;0)))))

步骤2:将光标放在此类单元格的右下角(光标必须从厚的白色十字架更改为更薄或可能是黑色的十字架)并一直点击并拖动直到表格的最后一行,从而复制每一行的公式并自动更改参考,即:A2A3A4等。

请记住:如果您的表格未在单元格A1上展开,则首先必须更改A2,无论哪个单元格是Polarity列下的第一个单元格,然后申请程序。

IF解释说:

IF公式需要3个参数:LOGIC_TESTRETURN_VALUE_IF_TRUERETURN_VALUE_IF_FALSE

LOGIC_TEST:仅返回TRUEFALSE值的条件,例如:A2="P+" RETURN_VALUE_IF_TRUELOGIC_TESTTRUE时,在单元格中输出的值,例如:1
RETURN_VALUE_IF_FALSE:如果LOGIC_TESTFALSE,则在单元格中输出值,例如:0

通过根据需要多次嵌套此公式,您可以模拟递归行为,最终将输出相应的数字。