Excel-現在の行と3つ前の行からのみ値を返す


-1

3列のスプレッドシートがあります。列1は管轄区域タイプ(州、市、郡、地区)のリストであり、列2は対応する管轄区域の名前です。

列2の名前の一部を、列1の対応する「管轄タイプ」に応じて、列3に表示される文字列に結合する必要があります。

  1. 州と市の名前は変更されず、基本的に列3に再表示されます
  2. 郡名に都市を追加しています
  3. 郡名を地区名に追加しています。
  4. 「該当なし」が値の場合:州または市の場合、列3に表示されますが、文字列から「該当なし」を削除しています(したがって、郡名または地区名には追加されません) )。

私の式は:

=IF(A13="State", B13, IF(A13="City",IF(A13="NOT APPLICABLE", "NOT APPLICABLE", B13),IF(A13="County",IF(A13="NOT APPLICABLE", "NOT APPLICABLE", IF(VLOOKUP("City", A10:B13,2, FALSE)="NOT APPLICABLE", B13, VLOOKUP("City", A10:B13,2, FALSE) & " " & B13)),IF(A13="District",IF(B13="NOT APPLICABLE", "NOT APPLICABLE", IF(VLOOKUP("County", A10:B13,2,FALSE)="NOT APPLICABLE", B13, VLOOKUP("County", A10:B13,2, FALSE) & " " & B13))))))

私は上記を達成することができました、そして、すべては大丈夫に働いているようです。ただし、VLOOKUPデータの検索に使用した方法が心配です。これは非常に長いリストであり、数式を下にドラッグすると、VLOOKUP範囲が変わります。したがって、たとえば、4行目の範囲はA2:B5ですが、下にドラッグするとA3:B6、A4:B7などになります。範囲を変更する方法があるかどうか疑問に思いますVLOOKUP関数で、または常に現在の行と前の3行だけを常に見るように式に指示するために別の関数を使用する必要がある場合。

これが私のスプレッドシートのサンプルです:

管轄権テーブル

列を作成しようとしましたが、Stack Exchangeでそれを実行する方法がわからなかったため、スクリーンショットを作成しました。大丈夫だと思います。


これほど複雑なタスクについては、Excelでよく使用されるプログラミング言語であるVisual Basicを検討する必要があります。すべての行を反復処理する能力があるため、VLOOKUPを使用するリスクが軽減されます。すでに式にこれだけの時間を費やしている場合、それはあまり役に立たないことは知っていますが、次回は考えてみる価値があるかもしれません。
Sam3000

ありがとうございました!私はVisual Basicの経験がほとんどないので、通常の式でこれを達成できることを願っています。しかし、提案を本当に感謝し、VBをより速く学ぶために間違いなく一生懸命働きます...私はそれが非常に貴重になる多くのインスタンスに遭遇しました。乾杯。:-)
Zipotontic

市と郡の両方が該当しない可能性はありますか?この条件も考慮に入れる必要がありますか?
patkim

回答:


1

列3でこの式を試して、これが適切かどうかを確認してください。私の想定では、州都市郡および地区は4行ごとに一貫して繰り返します。

=IF(A2="State",B2,IF(A2="City",B2,IF(OR(A2="County",A2="District"),IF(AND(B2="NOT APPLICABLE",B1="NOT APPLICABLE"),"",IF(B1="NOT APPLICABLE",B2,IF(B2="NOT APPLICABLE",B1,IF(AND(B1<>"NOT APPLICABLE",B2<>"NOT APPLICABLE"),B1&" "&B2,"")))))))

VLOOKUPを絶対セル参照に置き換えました。最初に少なくとも1つの予備行が必要です。これはヘッダーです。

ここに画像の説明を入力してください


pat2015-これは絶対に豪華です、ありがとう!完全に動作します!私のパズルを解くだけでなく、式の混乱を片付けてくれてありがとう。私のすべてのVLOOKUPではなく、IF / ANDの使用が本当に好きです。ご協力ありがとうございました!!!!
Zipotontic
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.