エクセルif関数で、複数のシートから情報を集約する方法
if関数が最適なのかもわからないのですが、
以下の情報での情報集約方法を探しています。
複数シート(フォーマットは全て同じ。シート名は1.2.3.4.5~)
シートのA列に店舗番号がはいっています。
例 A1→100,A2→101,A3→102
シート1のA列に100が入力されている場合、
まとめシートに、シート1のC1が反映される。シート5のA列に150が入力されていた場合、まとめシートにシート5の該当セル(C151)が反映される。
上記のような数式を作りたいです。
どなたかご教授頂けますでしょうか?
宜しくお願いいたします。
No.2ベストアンサー
- 回答日時:
100とか150と言うのが店舗番号だろうか。
ならばシート名があるならそれを使って参照先を指定できる。
文字列から参照先を指定する場合、INDIRECT関数を使う。
すると、
=IF(シート1!A1=100,シート1!C1,"")
が、
=IF(INDIRECT(A1&"!A1")=B1,INDIRECT(A1&"!C1"),"")
のようになり、
=IF(ISERROR(MATCH(100,シート1!A:A,0)),"",シート1!C1)
が、
=IF(ISERROR(MATCH(B1,INDIRECT(A1&"!&A:A"),0)),"",INDIRECT(A1&"!C1"))
のようになる。
この場合、C1セルに相当する部分がどう紐付けされているのか不明なので、
そこは自身で「工夫してくれ」。
※条件(情報)が明らかに少なく、推測では答えられない。
もう一つアドバイス。
自身の手に負えない物件は早めにできないと申告すべき。
ありがとうございます!!
INDIRECTとVlookupの関数でなんとか無事にできました
情報も伝えきれていない中、アドバイス頂きありがとうございました!!
No.1
- 回答日時:
なんか違う気がするなあ。
「まとめシート」のどこかに参照するシートのデータを反映させる値(この場合100とか150)を入力するセルを作って、
データを反映させるべきではないだろうか。
・・・
それは置いといて、
シート1のA列には100以外の値が入力されていても、A列のどこかに100が入力されていたら反映させるということで良いのだろうか。
とりあえず作り方
まずはA1セルだけを参照して値を反映させる式を考える。
=IF(シート1!A1=100,シート1!C1,"")
=IF(シート5!A1=150,シート5!C151,"")
次にA1セルだけでなくA列全体を検索して該当する値があるかを判断する事を考える。
IF関数で総当たり…は現実的ではない。
MATCH関数で一致するセルがあるかを判断すれば良い。
=MATCH(100,A:A,0)
でエラーが返ってきたら該当する値(100)はない。エラーにならなかったら該当する値がある。
なのでISERROR関数でエラーの有無を検査してその結果を上で示した式に組み込む。
=IF(ISERROR(MATCH(100,シート1!A:A,0)),"",シート1!C1)
=IF(ISERROR(MATCH(150,シート5!A:A,0)),"",シート5!C151)
こんな感じだろうか。(エラー…すなわち該当しなければ空白を表示、エラーにならなかったら値を参照)
ほんとに【とりあえず】答えてみたが、これで抱えている問題がすべて解決すれば良いが…。
あとは工夫してみてください。
早速ありがとうございます!
冒頭にご指摘いただいた部分…。
説明不足ですみません。
反映される値をまとめシートに入れて数式を作る場合の方法はどうなりますでしょうか。。。
まとめシートの中には、
シート名、店舗名共に記載があります。
自分が作ったエクセルではなく、
急遽if関数で該当する値を飛ばす式をまとめシートのC列に作れと言われたもので…。チンプンカンプンでして。。
まとめシートは以下の感じです。
シート名→Aセル
店舗番号→Bセル
数式をいれる→Cセル(ここの部分が、複数シートから該当シートを選び、その中の店舗番号に紐付いた値を反映させる。)
説明も下手ですいません。
もしなんとなく私が意図してることがお分かりでしたらご教示頂けますと幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Excel(エクセル) Excel関数 情報引用する方法 4 2022/07/31 20:59
- Excel(エクセル) エクセルにて別シートの値を参照したif式で任意のセルと同じ値を結果に反映させたいです 3 2022/06/02 11:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
別シート参照のセルをシート毎...
-
エクセルで前のシートを連続参...
-
VBAでシートコピー後、シート名...
-
シートの保護のあとセルの列、...
-
エクセルで前シートを参照して...
-
EXCELで1ヶ月分の連続した日付...
-
前の(左隣の)シートを連続参...
-
Accessのスプレッドシートエク...
-
エクセルでファイルを開いたと...
-
エクセルでシート名を自動入力...
-
Excel、同じフォルダ内のExcel...
-
【Excel関数】値が合致するセル...
-
EXCELで同一フォーマットのシー...
-
至急お願いします。エクセルシ...
-
Excelの複数ファイルの複数行を...
-
複数シートの固定のセルの値を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
前の(左隣の)シートを連続参...
-
Excelで金銭出納帳。繰越残高を...
-
EXCEL:同じセルへどんどん足し...
-
EXCELで1ヶ月分の連続した日付...
-
シートの保護のあとセルの列、...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
EXCELで同一フォーマットのシー...
-
エクセルで前のシートを連続参...
-
エクセルで前シートを参照して...
-
VBAでシートコピー後、シート名...
-
Accessのスプレッドシートエク...
-
エクセルのシート名をリスト化...
-
複数シートの特定の位置に連番...
-
Excelのシートを、まとめて表示...
-
エクセル 計算式も入っていない...
-
スプレッドシートの関数VLOOKUP...
おすすめ情報