如何将分配给文本的两个值相乘?

时间:2019-11-08 10:26:29

标签: excel vba

我需要将ColumnDColumnE相乘。

ColumnD的可能值为:High, Medium, Low

ColumnE的可能值为:High, Medium, Low

High = 3
Medium = 2
Low = 1

ColumnFColumnD * ColumnE的结果。例如High * Medium = 6

因此,ColumnF的值为1 or 2 or ... or 9

1 to 3 = Low
4 to 6 = Medium
7 to 9 = Low

ColumnF上显示的值必须是文本值,而不是数字值。

有办法做到这一点吗?

谢谢。

更新1

 ColumnD | ColumnE | ColumnF | ColumnG | Column H | ColumnI 
 High    | Low     |         |         | Low      | 1
                                       | Medium   | 2
                                       | High     | 3
                                       | Low      | 1
                                       | Low      | 2
                                       | Low      | 3
                                       | Medium   | 4
                                       | Medium   | 5
                                       | Medium   | 6
                                       | High     | 7
                                       | High     | 8
                                       | High     | 9 

1 个答案:

答案 0 :(得分:1)

假设根据您的问题您的数据在D到E列中,并且根据您的表在H到I的引用中,您可以尝试在F列中使用以下公式。

=INDEX($H$4:$H$12,INDEX($H$1:$I$3,MATCH(D1,$H$1:$H$3,0),2)*INDEX($H$1:$I$3,MATCH(E1,$H$1:$H$3,0),2),1)

这将索引查找表的前三行,并从一列开始为每一行获取对应的值。它对两个值都执行此操作,并将它们相乘。结果将其作为行号返回到INDEX(语句,并将返回查找表第二部分中该行上的任何值。这样一来,在表格第二部分旁边的数字就会变得多余。