1

ここでExceln00b。私はExcelで簡単なことをすることができます(簡単です。つまり、ほとんどの人ができないことを意味しますが、専門家よりはるかに少ないです)。

うまくまとめられていないシートからデータを取得するさまざまな方法を試してきました(地方自治体から定期的なレポートをダウンロードするため、ベースのExcelファイルを制御できません)。

シートには識別子列(原告/被告)があり、その下に2つの空のセル(次の列を占める)があります。次の列には1つのセルにパーティの名前があり、その下のセルにはアドレスがあります。問題は、マージされたセルとしてフォーマットされているため、1つのセルにあるアドレスが3番目のセルとマージされることです。もう1つの問題は、エントリ間に空白の行が定期的に存在することです。このように見えます(醜いフォーマットでごめんなさい)

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, "")

名前をコピーします。次の1つのセル(マージのために実際には2つ)をコピーする方法がわからなかった場合を除いて、次のようになります。

                    DOE JANE
                    100 Whatever Way
                    Boston, MA 000000

行が余分にあるIFため、アドレスに同じステートメントを適用できませんでした。「空白」の行を選択しようとすると、識別子の下の空のセルが選択され、「空の」マージされたセルも選択されるため、機能しません。シート全体が歪んでしまいます。

また、次のような条件付き書式を試しました。

=OR($A2 = "Defendant:")

その行に色を付けましたが、アドレスセルの選択方法がわかりません。色をフィルタリングすると、「被告:名前」と表示されます。

可能な限りVBAを避けたいと思っていました。

助言がありますか?ありがとう。

4

1 に答える 1

0

次の 2 つの関数に興味があるかもしれません。

  • 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
于 2012-06-12T18:35:58.597 に答える