• ベストアンサー

月が変わるとその月のシートを参照する関数を教えてく

y_usijimaの回答

回答No.2

実証確認したわけではありませんが、下記の関数でどうでしょうか? =IF(ISERROR(VLOOKUP(J4,indirect("給与一覧" & month(L2) & "月!A1"):Q26,6,FALSE)),””,VLOOKUP(J4,indirect("給与一覧" & month(L2) & "月!A1"):Q26,6,FALSE))) indirectがキーポイントと思います。

参考URL:
http://www.excel.studio-kazu.jp/func/indirect.html
HARA007
質問者

お礼

早々に回答ありがとうございました。

関連するQ&A

  • エクセルの関数の直し方

    現在、画像のような表を作成しておりますが、 1行目の前の行に5行挿入したいと考えております。 下の表からデータを製番・区分ごとに合計して上の表に表示されるようになっています。 5行挿入してタイトル等入れたいと思い、挿入してみると、 今まで下の表からの合計が上の表に表示されなくなってしまいます。 セル番号等確認はしてみたのですが、 どこがいけなくてうまく表示されないのかがわからなくて困っています。 どのように直したらいいかをご教示お願いいたします。 現在入っている関数は以下の通りです。 A2=IF(COUNT(Sheet1!$L$14:$L$38)<ROW(A1),"",INDEX(Sheet1!$B$14:$I$38,MATCH(SMALL(Sheet1!$L$14:$L$38,ROW(A1)),Sheet1!$L$14:$L$38,0),MATCH(A$1,Sheet1!$B$13:$I$13,0))) B2=IF(COUNT(Sheet1!$L$14:$L$38)<ROW(B1),"",INDEX(Sheet1!$B$14:$I$38,MATCH(SMALL(Sheet1!$L$14:$L$38,ROW(B1)),Sheet1!$L$14:$L$38,0),MATCH(B$1,Sheet1!$B$13:$I$13,0))) C2=IF(COUNT(Sheet1!$L$14:$L$38)<ROW(C1),"",INDEX(Sheet1!$B$14:$I$38,MATCH(SMALL(Sheet1!$L$14:$L$38,ROW(C1)),Sheet1!$L$14:$L$38,0),MATCH(C$1,Sheet1!$B$13:$I$13,0))) D2=IF(A2="","",SUMIFS(Sheet1!$G$14:$G$38,Sheet1!$B$14:$B$38,A2,Sheet1!$H$14:$H$38,B2)) E2=IF(C2="","",IF(ISERROR(VLOOKUP(C2,list!$S$3:$T$6,2,0)),"",VLOOKUP(C2,list!$S$3:$T$6,2,0))) H14=IF($E14="","",IF(ISERROR(VLOOKUP($E14,INDIRECT($J14),3,FALSE)),"",VLOOKUP($E14,INDIRECT($J14),3,FALSE))) I14=IF($E14="","",IF(ISERROR(VLOOKUP($E14,INDIRECT($J14),4,FALSE)),"",VLOOKUP($E14,INDIRECT($J14),4,FALSE))) J14=IF(ISBLANK(B14),"",IF(B14<="J121100144","旧","新")) K14=IF(AND(B14<>"",H14<>"-"),B14&"_"&H14,"") L14=IF(AND(K14<>"",COUNTIF(K$14:K14,K14)=1),COUNTIF($K$14:$K$38,"<"&K14)+1,"")

  • Excel関数 複数シートをまたがって検索する方法

    タイトルの通りなのですが 例えばSheet1とSheet2とSheet3のA列の どこかにある、検索値を Sheet4で検索する方法って ありますか? VLOOKUPで =IF(ISERROR(VLOOKUP(Sheet4!A1,Sheet1!A:A,1,FALSE)),VLOOKUP・・・と、 エラーの場合は、他のSheetを検索という方法なら わかったのですが・・・

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

    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しか返って来ません。 解決方法があれば、どなたかご教授願えないでしょうか。 よろしく、お願い致します。

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

    タイトルの件、質問します。 下記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回答者様に、ご教授いただきました。

  • 関数について教えて下さい。

    =IF(ISERROR(VLOOKUP($A3,母日!$C$6:Y$40,23,FALSE)),"",VLOOKUP($A3,母日!$C$6:Y$40,23,FALSE)) の関数『6』『40』という数字を横にドラッグしただけでプラス44づづ増える関数式を教えてください。例えば、 =IF(ISERROR(VLOOKUP($A3,母日!$C$50:Y$84,23,FALSE)),"",VLOOKUP($A3,母日!$C$50:Y$84,23,FALSE)) =IF(ISERROR(VLOOKUP($A3,母日!$C$94:Y$128,23,FALSE)),"",VLOOKUP($A3,母日!$C$94:Y$128,23,FALSE))という具合です。 すみませんがお忙しいところスミマセン。宜しくお願い致します。

  • 複数条件での値参照をする関数

    Excel2007を使っています。 以下のような表があります。 店番  月度  個数 111     4    1 111     5    0 113     4    0 112     4    1 113     5    2 別のシートに以下の表があります。 店番  4月個数  5月個数 111 112 113 この4月個数の列と、5月個数の列に関数で値を参照させたいと思います。 店番をA1セルとすると、B2セルには店番が111の4月の個数を表示させたいです。 B2に =IF(ISERROR(VLOOKUP(A2,元!A:B,2,0)),"",IF(VLOOKUP(A2,元!A:C,2,0)<>4,"",VLOOKUP(A2,元!A:C,3,0))) C2に =IF(ISERROR(VLOOKUP(A1,元!A:B,2,0)),"",IF(VLOOKUP(A1,元!A:C,2,0)<>5,"",VLOOKUP(A1,元!A:C,3,0))) このような式を入れると、4月か5月どちらか上に書いた方しかデータが表示されませんでした。 更新ボタンやトリガーを使わずにできるといいので、ピボットやVBAではなく関数でやりたいと思っているのですが、どのようにすれば良いか分かりません。 使える関数があれば、ぜひ教えて下さい。

  • VLOOKUP関数をIFで条件付けしたのですが。。

    シートが2枚あり1枚は名簿シートです。 別シートのセルA1に名簿シートのコード番号を入力し セルA2にVLOOKUP関数で式を下記のように入れています。 =VLOOKUP(A1,名簿!N:P,3,FALSE) このとき値がブランクになるときがあるので そのときは隣の列から数値を拾い出したいのです。 そこで =VLOOKUP(A1,名簿!N:Q,4,FALSE) だと思うのですがですが、自分でIFで式を組んだら =IF(VLOOKUP(A1,名簿!N:P,3,FALSE)="",VLOOKUP(A1,名簿!N:Q,4,FALSE),VLOOKUP(A1,名簿!N:P,3,FALSE)) となりました。 一応、希望通りの答えが返されるのですが、 もっと簡潔な組み方はあるのでしょうか?? IFでなくても何か方法があるのでしょうか?? よろしくご教授お願いします。

  • エクセルで5セルごとに参照したい。

    エクセルで、 あいうえおかきく...等とセルが一列に並んでいる時に、 そのセルへ式を使って入力するのに参照したい別の行があります。 ア□□□□イ□□□□ウ□□□□…という風に、5セルごとに参照したい列があります。 セルあ「VLOOKUP($A1,Sheet1!$A:$Z,1,FALSE)」 セルい「VLOOKUP($A2,Sheet1!$A:$Z,6,FALSE)」 セルう「VLOOKUP($A2,Sheet1!$A:$Z,11,FALSE)」 上のような感じで、でもいちいち数字を入力せずに、セルの左下を引っ張ったらうまく参照されるような式、ないでしょうか。。。

  • VLOOKUP関数 エクセル関数教えてください

    =IF(ISERROR(VLOOKUP(B2,$E$1:$F$296,2,FALSE)),"",VLOOKUP(B2,$E$1:$F$296,2,FALSE)) という関数を入れて、品番をセルに入力して元表から品名を導く表を作成しました。うまく使えています。 これを元に =IF(ISERROR(VLOOKUP(B2,$F$1:$I$1000,2,FALSE)),"",VLOOKUP(B2,$F$1:$I$1000,2,FALSE)) という関数に直して、同じような表を作ろうとしたのですが、うまくいきません。 何が悪いのか分かりません。 どうすればうまくいきますでしょうか?

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

    エクセルの参照セルがずれないようにしたい! 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列に△△と表示したい。)が返ってきません。 説明が下手でわかりづらいとは思いますが、ご回答よろしくお願いします。