根据其他2列填写一列

时间:2014-06-23 18:35:32

标签: excel excel-vba vba

我正在尝试构建一个宏,允许我根据2个条件自动填写列中的单元格,这两个条件是县和项目类型,两者都是它们自己的列名。要填写的列将被称为"频段",其具有12个可能值的静态范围。

例如,如果郡是"卑尔根"项目类型为" 2"然后频段为" 800Mhz"。如果它是同一个县(卑尔根)但项目类型是" 3"那么频带将是" 1900MHz"。

我目前有另一个工作表中列出的频段列表(只需将其称为表2,单元格E2 - E13),所以我想VBA代码的轮廓如下所示:

If County(A) = Lee AND Project Type(B) = 2 Then Frequency Band(C) = 800Mhz(E3)
Else if Project Type = 3 Then Frequency Band = 1900MHz

等每个县的等等

由于我以前从未在VBA中编码并且不知道它的语法,我真的不知道从哪里开始这样的公式。任何人都可以帮我开始吗?

1 个答案:

答案 0 :(得分:1)

以下是使用公式的一种方法。

在单元格G1:K6中有一个包含存储数据的表格(也可能在另一张表格中)

您放入国家/地区的A列,您放入项目类型的B列(如果您根据源数据进行了验证,则会很好。

C列是您的查找功能

'=INDEX($H$2:$K$6,MATCH(A2,$G$2:$G$6,0),MATCH(B2,$H$1:$K$1,0))

索引需要3个主要输入:

阵列(H2:K6),它是实际的频率值 此数组中的行号和数组中的列号

对于您所在国家/地区的行号(g2:g6),它会告诉您它是数组中与索引数组中的行对应的x数

列和项目类型也是如此。

如果您需要更多信息,网上有大量关于索引和匹配的信息。

Highlighing用于显示公式在以下三个示例中选择的值。

enter image description here