戻る

一覧から文字列をKeyにして抽出

突然ですが「図1」のような表があります。
図1(Sheet1)
これを「図2」のように抽出したい
図2(Sheet2)


それでは早速抽出してみますb
[B1]に[=VLOOKUP(A1,Sheet1!$A$1:$B$6,2,FALSE)]
[B2]に[=VLOOKUP(A2,Sheet1!$A$1:$B$6,2,FALSE)]
をそれぞれ入力します。その出力結果が「図3」なのですが・・・
図3(Sheet2)
大文字と小文字が区別されてなぁいΣ(><;
Vlookupの検索の型をFalseに設定しているにもかかわらず
なんと「a」をKeyに抽出した値も「A」の値が拾われてるではありませんかorz


気を取り直してもう一度!!
今度は
[B1]に[=OFFSET(Sheet1!$B$1,MATCH(A1,Sheet1!$A$1:$A$6,0)-1,0)]
[B2]に[=OFFSET(Sheet1!$B$1,MATCH(A2,Sheet1!$A$1:$A$6,0)-1,0)]
を入力してみました。そして出力結果は・・・
図4(Sheet2)
(ノ==)ノ====[Excel]


こうならもうやけくそです!!
[B1]に[=IF(A1=Sheet1!$A$1:$A$6,Sheet1!$B$1:$B$6,"Empty")]
[B2]に[=IF(A2=Sheet1!$A$1:$A$6,Sheet1!$B$1:$B$6,"Empty")]
を入力して([Ctrl]+[Shift])+[Enter]!! 出力結果は
図5(Sheet2)
(>。([Excel]====3
手ごわいです今日のExcelはなかなかに強敵ですorz


ここでふとわれに返りでおそるおそる適当なセルに
[=IF("A"="a","○")]
を入力したところ・・・
結果は「○」が返されてきました><
やられました><
Excel君は最初から大文字と小文字を区別して検索する気はなかったようですorz


そこで今度は文字をコードに変換してみることにしました。
[B1]に[=IF(CODE(A1)=CODE(Sheet1!$A$1:$A$6),Sheet1!$B$1:$B$6,"")]
[B2]に[=IF(CODE(A2)=CODE(Sheet1!$A$1:$A$6),Sheet1!$B$1:$B$6,"")]
を入力して([Ctrl]+[Shift])+[Enter]
出力結果は
図6(Sheet2)
でっできたぁ○=(^^)=○ やはりExcelは大文字と小文字が同じに見えてるようです><


もう一つ試しに「B1」に
[=SUM(IF(A1=Sheet1!$A$1:$A$6,Sheet1!$B$1:$B$6,"")]

を入力。
そして「A1」の値を「A」にします
抽出結果は「5」

次に「B1」を
[=IF(CODE(A1)=CODE(Sheet1!$A$1:$A$6),Sheet1!$B$1:$B$6,"")]
に変えてみると・・・
抽出結果は「1」
になります。

抽出だけならまだ気づく可能性が高いですが
計算してしまうとさらに間違いを見つけにくくなってしまいます。
Excelの関数って便利ではありますが、こういった細やかな仕様をいっておく事がすごく大事ですよね^^

以上!!
今回の説明は今日(05.12.09)Nullがやってしまった会社での失敗談を元に作成しました
きっと同じようなミスをやってしまった人の役に立ってくれるものと信じています
なお、Excelの大文字、小文字の判別に関してわからないことが色々あるので
詳しい方いましたらご教授くださいmm

作成日:2005年12月09日
更新日:2005年12月09日