- ベストアンサー
エクセルのデータ処理
エクセルで英単語データをアルファベット順に1万語ほど作ってあります。(日本語や難易度等含む)今読んでいる小説から知らない単語700語位を別のファイルに入力しました。ここへ元のデータから日本語等を移したいのですが、どうしたらよいかかわりません。よい方法があれば教えてください。1万語のデータから700語だけを選び取りたいのです。よろしくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
VLOOKUP関数かMATCH関数を使う例でしょう。本件はそうではないが、ビジネスでは有用な大切な関数です。 Sheet1(1万語のシート) A列 B列 Air 空気 Book 本 desk 机 ・・・ Sheet2(700語シート) A列 B列 Book Sheet2のB1セルに =VLOOKUP(A1,Sheet1!$A$1:$B$10,2,FALSE) といれて、下方向に式を複写します。 $A$1:$B$10の$B$10は、Sheet1の単語帳の最終行に修正すること。 Sheet1にA列が空白行の場合0を出さないためには =IF(A2="","",VLOOKUP(A2,Sheet1!$A$1:$B$10,2,FALSE))
その他の回答 (6)
- Nouble
- ベストアンサー率18% (330/1783)
あっと! もちろんB列にコピーしても機能しますよ
- Nouble
- ベストアンサー率18% (330/1783)
行頭に見出しがあれば http://oshiete.coneco.net/kotaeru.php3?q=2570100 とほぼ同じですね 元表がSheet5!にこのように表題付きであり A B C D 1 英単語 意味 日本語 難易度 2 ・・・ ・・ ・・・ ・・ 3 ・・・ ・・ ・・・ ・・ 4 ・・・ ・・ ・・・ ・・ 抽出先もSheet6!に表題付きで A B C D 1 英単語 意味 日本語 難易度 2 ・・・ ・・ 3 ・・・ ・・ 4 ・・・ ・・ このようにあると仮定しますと Sheet6!C2に =OFFSET(Sheet5!$A$1,LOOKUP(1,{1},MATCH(Sheet6!$A2,Sheet5!$A$1:$A$2000,0))-1,LOOKUP(1,{1},MATCH(Sheet6!B$1,Sheet5!$1:$1,0))-1,1,1) と、入力し、C:Dの必要なところ全体にコピーしてください 検索対象が多いだけでやっていることは上記URLとまったく同じです 英単語の綴りを検索してその場所の表題の意味通りのものを インテリジェントに拾い出してきます したがって例え表題が仮に A B C D 1 英単語 日本語 難易度 意味 と言う感じに順序が変わっても ちゃんとそれを検知し ターゲットを読み出してくれますし 双方の表題の個々の綴りさえあわせば列項目を追加しても対応しますし 構文も基本1つなのでメンテナンス性も高いと思われます ただ英単語の綴りや表題の名に揺らぎ(全角/半角・大文字/小文字・スペル等の不一致)があった場合は 今回エラー処理を組み込んでないので ターゲットを読み出せなくなってしまいます こんな感じで如何でしょか?
お礼
お礼が遅くなり申し訳ありませんでした。このサイトへのパスワードが通らず昨日から悪戦苦闘してました。10回以上ダメで30分停止を3回も繰り返し、パスワード変更してもまたアウト。 ブラウザを変更してやっと到着。なんだかキャッシュの加減のようですね。 みなさんの適切なアドバイスでうまくいきました。 ありがとうございました。
- zap35
- ベストアンサー率44% (1383/3079)
#01さんの補足も見ました。C列、D列も一緒に引っ張ってきたいのですね。B2に以下の式を入れてC2、D2列、および下の行にコピーしてください =IF(A2="","",VLOOKUP($A2,Sheet1!$A$2:$D$10000,COLUMN(),0)) もし英単語データの空欄が「0」と表示されるのがイヤなら以下の式に差し替えてください =IF(A2="","",IF(VLOOKUP($A2,Sheet1!$A$2:$D$5,COLUMN(),0)=0,"",VLOOKUP($A2,Sheet1!$A$2:$D$5,COLUMN(),0)))
お礼
お礼が遅くなり申し訳ありませんでした。このサイトへのパスワードが通らず昨日から悪戦苦闘してました。10回以上ダメで30分停止を3回も繰り返し、パスワード変更してもまたアウト。 ブラウザを変更してやっと到着。なんだかキャッシュの加減のようですね。 みなさんの適切なアドバイスでうまくいきました。 ありがとうございました。
- 12SA
- ベストアンサー率19% (4/21)
どうも、NO.1です。 それでは、NO.2さんが言うようにVLOOKUPが使えそうです。 NO.1の表を英単語表、下の表を700語ぐらいの新しい表とします。 A B 1 英単語 2 英単語 3 英単語 4 英単語 B1に意味を入力したい場合、 B1=VLOOKUP(A1,[英単語のファイル名.xls]Sheet1!$A$1:$B$4,2,FALSE) [ファイル名.xls]Sheet1!$A$1:$B$4は英単語データ全体を選んでください。 これを、下にコピーしてください。
お礼
お礼が遅くなり申し訳ありませんでした。このサイトへのパスワードが通らず昨日から悪戦苦闘してました。10回以上ダメで30分停止を3回も繰り返し、パスワード変更してもまたアウト。 ブラウザを変更してやっと到着。なんだかキャッシュの加減のようですね。 ちょっと手こずりましたがうまく成功しました。こんなにうまくいくとは感激です。ありがとうございました。 1万語ではカバーできてなくて新規に追加したり、訳のない語、つづりにミスなどいろいろ出てきます。 手直しが大変ですが、よい方法が見つかったので楽しくやれそうです。英語の学習にも力が入ります 適切なアドバイス本当にありがとうございました。
- KenKen_SP
- ベストアンサー率62% (785/1258)
VLOOKUP 関数でいけそうな気がします。 元表のレイアウトとか...何件かサンプルデータを補足すると きっと具体的な回答がつきますよ。
- 12SA
- ベストアンサー率19% (4/21)
質問ですが、これは縦に並んでいるんですか? 例えば A B 1 英単語 意味 2 英単語 意味 3 英単語 意味 4 英単語 意味 という感じですか?
補足
説明足らずですみません。 書いていただいた通りです。横にC、D列があります。 そこから700語と合致する行だけ抜き出したいのです。 よろしくお願いします。
お礼
お礼が遅くなり申し訳ありませんでした。このサイトへのパスワードが通らず昨日から悪戦苦闘してました。10回以上ダメで30分停止を3回も繰り返し、パスワード変更してもまたアウト。 ブラウザを変更してやっと到着。なんだかキャッシュの加減のようですね。 ちょっと手こずりましたがうまく成功しました。こんなにうまくいくとは感激です。ありがとうございました。 1万語ではカバーできてなくて新規に追加したり、訳のない語、つづりにミスなどいろいろ出てきます。 手直しが大変ですが、よい方法が見つかったので楽しくやれそうです。英語の学習にも力が入ります 適切なアドバイス本当にありがとうございました。