『他のファイルに項目を探し出す方法』(ママ) お世話になります。 お教えください。 Excelファイルに“AAさん”と入力すると 形式の違う他のシートもしくは、他のExcelファイルの“AAさん”の項目を自動的に探しだし入力してくれることはできますか? もし、ありましたらお教えください。 ---- VLookUp関数などはどうでしょうか?(ROUGE)   http://www.excel.studio-kazu.jp/lib/e1tw/e1tw.html ---- ROUGEさま ご回答ありがとうございます。 どうも関数となると(-ω- ;|||;) お仕事の発注者と私の頭とがまだ噛み合っていなかったようで、 Aファイルに入力すると自動的に他のBファイルの表が埋まるように したいとのこと、 使ったことの無い関数ですが、VLookUp関数の応用でなんとか出来そうな気がしています。 すこし頑張ってみます。 またお尋ねすることもあるかと思いますが、よろしくお願いいたします。 ---- 昨日はありがとうございました。 目的の作業は行えるようになりました。 欲張りで申し訳ありません。もう1つ教えていただけますか? AAさんが受講した場合、 ○月○日受講ファイルAに入力した時、職員受講履歴ファイルBに自動的に○月○日受講欄に“○”と入るようにしたいのですが、 現段階では、未受講者:#N/A 受講者:#REF!と表示されます。 良く見たらわかるのですが、表としては大変見づらいものとなっています。 数式は =VLOOKUP(E2,'0630'!A:A,6,FALSE)となりました。 よろしくお願いいたします。 ---- >未受講者:#N/A 受講者:#REF!と表示されます。 >良く見たらわかるのですが、表としては大変見づらいものとなっています。 >数式は =VLOOKUP(E2,'0630'!A:A,6,FALSE)となりました。 1.先ず、在るかどうかをチェックして、IF関数で分岐し、#N/Aが出るのを防ぐ。 2.目的のデータが、関係表の6列目にあるのでしたら、A:AはA:Fとなるハズですけど? 例: =IF(COUNTIF('0630'!A:A,E2),VLOOKUP(E2,'0630'!A:F,6,FALSE),"未受講") (半平太) ---- 半平太さま ROUGEさま お返事ありがとうございます。 例の関数式をペーストしたらとても綺麗になりました。 他の参照ファイルもファイル名と列を入れ替え、思う通りの表ができました。 まだ、自分で飲み込めずにいるので、 パット出来上がった表を見て驚いております。 今から熟読して自分の物にしていきたいと思います。 コピペ、sun、rink、CONCATENATE 程度しか日頃使わないので、 関数に関しては、ほぼ初心者です(-ω- ;|||;) 本当にありがとうございました。 ---- うまく行って居られるようですが 「'0630'!A:A」の範囲がブック間参照をするのなら COUNTIF関数を使用は避けておいた方が良いように思います。 (HANA) ---- HANAさま コメントありがとうございます。 COUNTIF関数は○○のあるセル数を数える関数と覚えておりましたが、こんな使用の仕方があるのだな… と思っておりました。 Bファイルが壊れることが怖いので、AファイルのシートにBファイルをコピーし同じブック内で作成いたしました。 もしよろしければ、なぜ使用しないほうが良いのか?他に使用できるものがあるのか? お教えください。 よろしくお願いいたします。 ---- 参照先のブックが開いてないと使えない。って事じゃないかと。 たぶん。 Matchでもいいと思います。 BJ ---- BJさんが書いて下さっていますが まぁ、せっかく書いたので・・・・。 >同じブック内で作成いたしました。 って事なら、関係ないですね。 式も短く出来るので、COUNTIF関数を使用した方が良いと思います。 COUNTIF関数は参照先のブックが閉じているとエラーになって計算出来ません。 前提条件として、Aファイルを開くときはBファイルも開いている なんてのが有れば 問題ないのですけど。 他に使用できる物 と言われると、安易に ISERROR関数あたりしか思いつきませんが。 ISERROR(VLOOKUPの式)で、VLOOKUPの式が エラー値かそうでないのかを判定できます。 =IF(ISERROR(VLOOKUPの式),"▲",VLOOKUPの式) の様にしておけば、VLOOKUPの式がエラーだった場合 「"▲"」が返されます。 ISERROR関数では「エラー値か?」しか判定しませんので 未受講者の「#N/A」がでた場合も VLOOKUPの式がおかしく「#REF!」と成った場合も 「"▲"」部分が表示されます。 IS関数のグループには他にもISNA関数がありまして、これは 「#N/Aエラーか?」が判定できますので >未受講者:#N/A であれば ISNA(VLOOKUPの式)がTRUEの人は「未受講者」 =IF(ISNA(VLOOKUPの式),"未受講者",VLOOKUPの式) の様にしておくと、#N/A以外のエラーはそのまま エラーとして表示できます。 (HANA) ---- BJさま HANAさま お返事ありがとうございます。 目からうろこです。 ブックが開いていないと計算できない! 言われるとあぁ〜!と思いますが、考えてもみませんでした。聞かなかったら、計算できませ〜ん(ToT)と泣きついていたことでしょう…。 ISERROR関数…エラー判定の関数があるなんてこれもビックリ!! 習ったIF関数だけでいっぱい、いっぱいで終わった気になっていました。 普段はこんな複雑なお仕事は無いのですが、ちょっとこうしてみたいけど… なんてお仕事の発注の度に、このサイトにお世話になっています。 皆さんありがとうございます。 ---- お世話になっております。 また泣きついていいでしょうか(;´_`;) 前回と全く同じ形式で違うブックを作ろうと前回のExcelファイル上にコピペコピペを繰り返し、参照するシート名の部分を入れ替えました。 単純コピペで同じ物は出来ないのでしょうか? コピペではダメかと…見よう見まねでIFと選びCOUNTIFを選びVLOOKUPを選び数式を入れるボックスでも作ってみましたがやはりだめでした(-ω- ;|||;) 単純な間違いかもしれませんがどなたか教えていただけますか? =IF(COUNTIF('0630'!A:A,E2),VLOOKUP(E2,'0630'!A:F,6,FALSE),"未受講")   ↓↓↓Excelに変更内容をコピペ、下記のようにシート名変更しました。 =IF(COUNTIF('0415'!A:A,E2),VLOOKUP(E2,'0415'!A:F,6,FALSE),"未受講") ---- ↓こちらへ続いています。 [[20081209144536]]『全く同じ形式で違う項目のファイルを作りたい』(ママ) (HANA)