【问题标题】:Fill out a column based on 2 other colums根据其他 2 列填写一列
【发布时间】:2014-06-23 18:35:31
【问题描述】:

我正在尝试构建一个宏,它允许我根据 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 编码并且不知道它的语法,所以我真的不知道从哪里开始使用这样的公式。任何人都可以帮助我开始吗?

【问题讨论】:

  • 这需要在 vba 中还是一个函数就足够了?使用索引很容易做到这一点,二维匹配
  • 我想一个函数就足够了,但我有点困惑,因为我要处理的县有 100 多个县,每个县的时间都不长。他们拥有的 4 个项目中的每一个都有自己的频段。这是我计划在未来多次使用的功能,这就是为什么我第一次倾向于构建宏。

标签: excel vba


【解决方案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 数

与列和项目类型相同。

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

高亮显示公式在我下面的三个示例中选择了哪些值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-09
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多