セルの内容を別のシートに呼び出す方法

このQ&Aのポイント
  • セルの内容を別のシートのセルに呼び出す方法について説明します。
  • 「セルの書式設定」の表示形式を「ユーザー定義」に設定し、「○」「◎」「有」を呼び出すように定義しました。
  • しかし、帰って来た値が入力した数字しか表示されません。解決方法を教えてください。
回答を見る
  • ベストアンサー

セルの内容を別のシートのセルに呼び出す。

Sheet1のあるセルを「セルの書式設定」の表示形式の「ユーザー定義」で [=1]"○";[=2]"◎";"有"  と設定し、  1や2や3で「○」 「◎」 「有」 を呼び出すように定義し、 1を入力すると○、2を入力すると◎・・・ が問題なく返って来ているのを確認した上で、 =IF(ISERROR(VLOOKUP(A2,Sheet1!$A$4:$C$33,3,FALSE)),"",IF(VLOOKUP(A2,Sheet1!$A$4:$C$33,3,FALSE)=0,"",VLOOKUP(A2,Sheet1!$A$4:$C$33,3,FALSE))) 以上のような式を入れて、そのセルの内容をSheet2のセルに呼び出したところ、 帰って来た値が「○」 「◎」 「有」ではなく、入力した1,2、3しか返って来ません。 解決方法があれば、どなたかご教授願えないでしょうか。 よろしく、お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

一番簡単な方法: 数式を入れたセルにも >「セルの書式設定」の表示形式の「ユーザー定義」で >[=1]"○";[=2]"◎";"有"  と設定し、  を設定しておきます。 わざわざ計算する方法: 今の数式を例えば =IF(ISERROR(VLOOKUP(A2,Sheet1!$A$4:$C$33,3,FALSE)),"",IF(VLOOKUP(A2,Sheet1!$A$4:$C$33,3,FALSE)=0,"",TEXT(VLOOKUP(A2,Sheet1!$A$4:$C$33,3,FALSE),"[=1]○;[=2]◎;有"))) としておきます。 もちろん =IF(ISERROR(VLOOKUP()),"",IF(VLOOKUP()=0,"",IF(VLOOKUP()=1,"○",IF(VLOOKUP()=2,"◎","有")))) としても構いませんが。 別の方法: 別表(仮にE1:F4)に0、1,2,3に対して’、○、◎、有を用意しておき =IF(COUNTIF(Sheet1!$A$4:$A$33,A2),VLOOKUP(VLOOKUP(A2,Sheeet1!$A$4:$C$33,3,FALSE),$E$1:$F$4,2),"") などのように計算します。

yamagou
質問者

お礼

早速のご教授ありがとうございました。 一番目のお答えを採用しました。 何とシンプルでわかりやすいのでしょうか! 私は、着目できませんでした>< その他の方法も今後に備えて、記録させて頂きました。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.3です。 お礼欄の >今後、それ以上の(例えば4を△、5を◆・・・)という風に追加もできるでしょうか。 に関してですが・・・ VLOOKUP関数の結果が数値の場合は =IF(COUNTIF(Sheet1!A:A,A2),CHOOSE(VLOOKUP(A2,Sheet1!$A$4:$C$33,3,0),"○","◎","有","△","◆","▼"),"") といった具合に CHOOSE関数の中に順番にネストしていっても大丈夫ですが、 あまりにその数が多い場合は↓の画像のように別Sheetに表を作って、それを参照する方が簡単だと思います。 画像ではSheet3に表を作成しておきます。 これを利用すれば =IF(COUNTIF(Sheet1!A:A,A2),VLOOKUP(VLOOKUP(A2,Sheet1!$A$4:$C$33,3,0),Sheet3!$A:$B,2,0),"") という数式でも同様の結果になるはずです。 当然Sheet3のデータはもっとたくさんあっても構いません。 また、 >あるいは数字で選ばずに直接手入力で任意で書き込んだ文字も呼びこむことは出来るでしょうか? に関しては画像のように別Sheetに表を作成しておき、A列データを手入力するデータにしておけば A2セルに手入力する場合は、単に =IF(COUNTIF(Sheet3!A:A,A2),VLOOKUP(A2,Sheet3!$A:$B,2,0),"") という数式だけで対応できると思います。 参考になりますかね?m(_ _)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 横からお邪魔します。 一例です。 VLOOKUP関数の結果は1~3しかないとします。 セルの表示形式は「標準」のままで =IF(COUNTIF(Sheet1!A:A,A2),CHOOSE(VLOOKUP(A2,Sheet1!$A$4:$C$33,3,0),"〇","◎","有"),"") ※ VLOOKUP関数の結果が4以上もあり、3以上を「有」と表示したい場合は 少しくどい数式になりますが、 =IF(COUNTIF(Sheet1!A:A,A2),IF(VLOOKUP(A2,Sheet1!$A$4:$C$33,3,0)>2,"有",CHOOSE(VLOOKUP(A2,Sheet1!$A$4:$C$33,3,0),"〇","◎")),"") といった感じではどうでしょうか?m(_ _)m

yamagou
質問者

お礼

ありがとうございました。 うまくいきました。 今は○、◎、有を1、2、3、で選ぶだけで事足りていますが、今後、それ以上の(例えば4を△、5を◆・・・)という風に追加もできるでしょうか。あるいは数字で選ばずに直接手入力で任意で書き込んだ文字も呼びこむことは出来るでしょうか? もし、よろしければ、将来の項目追加に備えて、ご教授いただけないでしょうか? よろしく、お願いします。

  • yosifuji20
  • ベストアンサー率43% (2675/6115)
回答No.2

これは Indirect 関数を使います。 たとえばSheet2のA1を参照する場合は 同じシートのB1に"2"と入力するとすれば =Indirect(B1&"!A1") で"2"と言うシートのA1が参照できます。 この関数は、ある別のセルに入っている値をセルのアドレスの一部カ全部だと見なして、その値に該当するセル煮を参照すると言う意味です。 上記ではB1に参照したいシート名を入力すればそのシートのA1をひっぱッてきます。 多少慣れが必要ですが使い方によっては便利な関数です。 たとえば4月5月など月次のデータが異なるシートに入っているものを月次を入力するだけで必要な月のデータを呼び出すことができます。 これにVLOOKUPなどを組み合わせれば、部門コードを入れるだけでそれに該当するシートを呼び出すなどと言うことができます。

yamagou
質問者

お礼

ご教授ありがとう御座います。 早速、試してみます。

関連するQ&A

  • シート間でのやりとりで〒 ハイフォンをつけたい

    ご指導下さい。 シート「顧客登録」のF列を選択 右クリックで「セルの書式設定」「表示形式」「そのほか」「種類」で郵便番号と設定。 セルに 0000000と入力すると000-0000となります。 別のシートで C2に次の関数(書式)?を =IF(B2="","",VLOOKUP(B2,顧客登録!A2:F150,6,FALSE)) & "" いれました。 そうするとC2に0000000としかでません。 ここで〒 ハイフォンがついた〒番号を表したいのですがどうすればいいですか。 ご指導いただければ幸いです。 〒000-0000と言う具合にしたいです。 よろしく御願いします。

  • エクセルの参照セルがずれないようにしたい!

    エクセルの参照セルがずれないようにしたい! sheet1のC列にデータを入力しており、sheet2には A1に =IF(ISERROR(FINDB("○○",sheet1!C1,1))=FALSE,"△△","××") A2に =IF(ISERROR(FINDB("○○",sheet1!C2,1))=FALSE,"△△","××") A3に =IF(ISERROR(FINDB("○○",sheet1!C3,1))=FALSE,"△△","××") ・ ・ ・ ・ ・ ・ ・ ・ と、計算式を入れています。 sheet1で行の挿入をすると、sheet2の計算式が何故かずれてしまいます。「shhet1!C1,1のところの行番号」 これをずれないようにするにはどうしたらよいのでしょうか? =IF(ISERROR(FINDB("○○",Indirect(sheet1!C1),1))=FALSE,"△△","××")としても行番号はずれるし、期待する結果(sheet1のC列に○○という文字があればsheet2にA列に△△と表示したい。)が返ってきません。 説明が下手でわかりづらいとは思いますが、ご回答よろしくお願いします。

  • エクセルVlookup~&””の結果が数値にならず

    =IF(ISERROR(VLOOKUP(検索値,sheet1!$A$2:$C $100,1,FALSE)),"",VLOOKUP(検索値,sheet1!$A$2:$C $100,1,FALSE)&"") このような式です。 返された数字はなぜか左寄せになっています。 書式設定を見ると通貨になっており、カンマ入り数値にしても 右寄せになるだけでカンマが入りません。 どうしたらカンマ入り数値になるでしょうか。

  • 関数の中のシート名【複数】を置換を使って置換るには

    タイトルの件、質問します。 下記1の関数があります。 この中にあるシート名を下記2のとおり、置換を使って 書き換えたいと考えています。 実践しましたが、うまくできませんでした。 方法は、手入力以外であれば、置換機能ではなくてもOKです。 ご存知の方、いらっしゃいましたら、宜しくお願いします。 【下記2】 Sheet1 を 1000 に書き変えたい Sheet2 を 2000 に書き変えたい Sheet3 を 3000 に書き変えたい ※1000、2000、3000とは、シートの名前です。 【下記1】 =IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet1!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet1!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet2!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet2!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet3!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet3!A:C,2,FALSE)) ※本関数は、教えてgoo回答者様に、ご教授いただきました。

  • VLOOKUPのエラーについて

    教えて下さい。 =IF(ISERROR(VLOOKUP($B3,Sheet2!$A$2:$D$35,4,FALSE)),"",VLOOKUP($B3,Sheet2!$A$2:$D$35,4,FALSE))+IF(ISERROR(VLOOKUP($B3,Sheet3!$A$2:$C$50,3,FALSE)),"",VLOOKUP($B3,Sheet3!$A$2:$C$50,3,FALSE)) という数式を使っています。 最初のIF文(Shee2)については有効なのですが、それならと、欲張って他のシートも参照できるように、+の後にIF文(Sheet3)を追加したら#VALUE!が表示されます。 何がいけないのでしょうか?

  • vlookupとIndirectを使って別シートを検索

    C3に検索値が入力されます。 H3には =IF($C3="","",VLOOKUP($C3,INDIRECT("06!$H$2:$K$10000"),2,FALSE)) と入力した所、#N/Aとなってしまいました。 06はシート名です。H列~K列までにデータが入力されており、 現在のシートのC3に検索値を入力すると、06のから値をかえすようにしたいと考えています。 お力を貸してください。お願いします。 分りにくい場合は言ってください。

  • 入力がないのにユーザー定義で定義した文字列が常に表示されてしまう。

    入力がないのにユーザー定義で定義した文字列が常に表示されてしまう。 VLOOKUP関数とIF関数を組み合わせて「=IF(A1="","",VLOOKUP(A1,D2:C5,2,FALSE))」という関数を入力しています。 念のため申し上げますと、 VLOOKUP関数で「D2:C5」の表からデータを検索し、そのデータに該当した行の指定列からデータを取り出しているわけです。 IF関数は、「#N/A」エラーを表示させたくないためです。 この計算式を入力しているセルの書式設定を、ユーザー定義で、「"○""○""○""○""○""○""○"@」としたのですが、 A1セルに入力が無く入力の無いはずのセルに「○○○○○」が常に表示されてしまいます。 どこが間違っているのでしょうか? お知恵を拝借させてください。

  • 別シートへのセル参照について

    別シートへのセル参照についての質問です。 例えばSheet1のA1,B3,C6,G9に値が入っているとします。 その値を順にSheet2のB2,C4,D9,E17に参照したいのですが、 それぞれにセル参照しないとダメなんでしょうか? Sheet1,Sheet2に違う種類の表があって、それぞれに同じ値を入力するんですが、Sheet1に入力すれば自動的に入るようにしたいです。 実際はSheetや、値を入力するセルがかなり多いので、ひとつひとつセル参照するのが大変なので・・・よろしくお願いします。

  • ユーザー定義で定義した文字列が常に表示されてしまう(再質問)

    ユーザー定義で定義した文字列が常に表示されてしまう(再質問) 前回質問で、当方の説明がうまくできませんでしたので、 改めてこちらにて質問させて頂きます。 ご回答くださった方には、この場を借りてお詫びいたします。 まず、やろうとしていることですが、例文にて説明します。 「A1:1」「B1:お茶」「C1:数値入力セル」「D1:結果出力セル」 「A2:2」「B2:食事」「C2:数値入力セル」「D2:結果出力セル」 「A3:3」「B3:買物」「C3:数値入力セル」「D3:結果出力セル」 このようなリストがあります。 VLOOKUP関数を使って、 C列の「数値入力セル」に、A列の「1.2.3」のどれかの数値が入力されると C列の結果出力セルには、入力された数字によって 「C1:お茶or食事or買物」 「C2:お茶or食事or買物」 「C3:お茶or食事or買物」 と、表示させたいわけですが、 さらに、C列には「書式設定のユーザー定義」で、値が入力されると入力された値と一緒に 「C1」には「新宿で」と・・・したがって出力結果は「新宿で お茶or食事or買物」 「C2」には「渋谷で」と・・・したがって出力結果は「渋谷で お茶or食事or買物」 「C3」には「池袋で」と・・・したがって出力結果は「池袋で お茶or食事or買物」 このような組み合わせを各セルに表示させたいと思っているわけです。 「D1」セルに入力した数式は「=IF(C1="","",VLOOKUP(C1,A1:B3,2,FALSE))」 「D2」セルに入力した数式は「=IF(C2="","",VLOOKUP(C2,A1:B3,2,FALSE))」 「D3」セルに入力した数式は「=IF(C3="","",VLOOKUP(C3,A1:B3,2,FALSE))」 「D1」セルの「書式設定のユーザー定義」は「"新""宿""で"@」 「D2」セルの「書式設定のユーザー定義」は「"渋""谷""で"@」 「D3」セルの「書式設定のユーザー定義」は「"池""袋""で"@」 以上、このようにしたところ 「C1」「C2」「C3」の各セルに入力が無いのに、 「D1」「D2」「D3」の各セルには、常に「○○で」が表示されてしまいます。 以上ですが、よろしくお願いいたします。

  • excel セル未入力→空白 任意の入力値→表示するには

    お世話になります。 わかりにくいタイトルの上、過去に質問があるかもしれませんが・・・ ○セルA1に別シートよりVLOOKUPでひっぱってきた数値を表示(空白の場合も有り) ○セルB1にセルA1の値、数値表示・もしくは何か入力があれば”入力有”空白ならば空白表示をするのはどうしたらいいのでしょうか? IF(A1="","","入力有")としましたが、もともとA1にはVLOOKUPの数式が入っていますし、 IF(0<A1,"入力有","")としたら、A1にはマイナス数値表示もありました。 「何らかの入力が有った場合そのまま表示」という指示はあるんでしょうか?(例えば、検索の時に使う[*]のような・・・) よろしくお願い致します。

専門家に質問してみよう