如何根据另一列中的标识符选择列中的多个单元格?

时间:2012-06-12 15:12:55

标签: excel

Excel n00b在这里。我可以用Excel做简单的事情(简单,意思是大多数人不能做的事情,但远远少于专家)。

我一直在尝试从不合适的工作表中提取数据的不同方法(我从当地政府下载定期报告,因此我无法控制基础Excel文件)。

工作表有一个标识符列(原告/被告),然后在其下面有两个空单元格(占下一列)。下一列在一个单元格中具有该方的名称,然后下面的单元格具有其地址。问题是它被格式化为合并的单元格,因此一个单元格中的地址与第三个单元格合并。另一个问题是,在条目之间定期存在一行或多行。看起来像这样(抱歉丑陋的格式化)

IDENTIFIER          PARTY/ADDRESS
Plaintiff           DOE JOHN
                    1313 Mockingbird Lane <-row (merged, contains entire address)
                    Winchester, MA 00000

Defendant           DOE JANE
                    100 Whatever Way
                    Boston, MA 000000

首先,如果符合条件,我尝试做这样的事情来复制名称:

=IF(A2 = "Defendant:", B2, "")

将名称复制过来。除了我无法弄清楚如何复制下一个单元格(因为合并真的两个),所以我最终得到:

                    DOE JANE
                    100 Whatever Way
                    Boston, MA 000000

由于额外的行,我无法对地址应用相同的IF语句。试图选择“空白”行是行不通的,因为它会选择标识符下面的空单元格并选择“空”合并单元格 - 它会扭曲整个表格。

我也尝试了条件格式,如:

=OR($A2 = "Defendant:")

并对该行应用了着色,但同样,我不知道如何选择地址单元格。当我过滤颜色时,它只显示“被告:姓名”。

我希望尽可能避免使用VBA。

有什么建议吗?感谢。

1 个答案:

答案 0 :(得分:0)

您可能对这两个功能感兴趣:

  • MATCH()查找包含特定值的第一个单元格的索引。
  • OFFSET()从特定单元格中选择一定数量的行/列的单元格。
例如,在您的情况下,您可以使用公式来选择原告的地址:

=OFFSET(B1, MATCH("Plaintiff", $A$2:$A$20, 0), 0)
         ^     ^  ^---------^  ^--------^  ^   ^
       offset  |       |            |      |   column offset
     from here |   search for       |   do exact
               |      this          |     match
               |                where to 
           row offset            search