[[20061212102444]] 『VLOOKUP関数を使うのでしょうか?』  >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VLOOKUP関数を使うのでしょうか?』
 VLOOKUPをキーワードに膨大な過去ログを読み返しましたが、目が回ってきそうに
 なりましたのでご質問させて下さい。

 Sheet1に下の様な表があるとします。
  
    A   B   C
 1 田中 総務  転出
 2 鈴木 経理  退職
 3 山田 営業 ○○支社
 4 小林 経理  転出

 sheet2のA1に「転出」と打ち込めば(検索の対象は転出だけでなくC列文字が対象)
 A2に「田中」B2に「総務」
 A3に「小林」B3に「経理」と表示させるにはVLOOKUP関数を利用すればよいのでしょうか?
 「そんなコトせずにC1セルをオートフィルタさせればいいんじゃないの?!」
 という凄く簡単な方法は解るのですが、今後の応用のため関数方式で表示させる方法
 がありましたら是非教えて下さい。

(Span)


 INDEX ROW SMALL などを組み合わせて、配列数式を組み立てることになると思います。
 Sheet2のA2に
 =IF(COUNTIF(Sheet1!$C$1:$C$4,$A$1)<ROW($A1),"",
  INDEX(Sheet1!A$1:A$4,SMALL(IF(Sheet1!$C$1:$C$4=$A$1,ROW($A$1:$A$4),""),ROW($A1))))
 と入力して、Ctrl+Shift+Enterで数式を確定して下さい。
 数式が{ }で囲まれたら成功です。
 必要分下と右にフィルドラッグして下さい。
 (ROUGE)

 作業列の使用が許されるのなら、
 Sheet1
 D1=IF(C1<>Sheet2!$A$1,"",COUNTIF($C$1:C1,Sheet2!$A$1))
 として下行へコピー

 Sheet2
 A2=IF(COUNTIF(Sheet1!$C$1:$C$4,$A$1)<ROW(A1),"",INDEX(Sheet1!$A$1:$C$4,MATCH(ROW(A1),Sheet1!$D$1:$D$4,0),COLUMN(A1)))
 として下行へコピー、更にC列までコピーです。
 如何でしょうか?
   (SS)


 凄いです… 完璧です…
 ってか、全然VLOOKUPではなかったですね。
 この使い覚えのない関数(ROWとかCOLUMNとかCOUNTIFとか…)を
 読解して、自分の形で応用するには時間が掛かりそうですね(^_^;)
 ROUGEさんの教えて下さった Ctrl+Shift+Enter で確定する意味も今はまだ、
 全く解りませんし…
 日本語で「もし…Sheetの1の…C1からC4が…」とかブツブツ言いながら覚えていくしかなさそうです。
 ROUGEさん。SSさん。ありがとうございました!!
 それにしても…凄いなぁ…皆さん…m(_ _)m

 (Span)

 ↓これらのスレで分かりやすく解説されています。(ROUGE)
[[20060302144720]]『90より以上の人の名前を抽出したい』(shota)
[[20060512220025]]『VLOOKUP関数の結果を別の列に縦書きに詰めて表示したい。』(sarai)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.