[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『条件を指定しての抽出』(HONDA)
関数教えてください。
別シートに、A列からE列まで日次で数値が入力されています。
A B C D E 1 日付 実績A 実績B 実績C 実績D 2 2016/4/1 100 200 300 400 3 2016/4/2 150 100 200 500
といった感じで入力を日々行っています。 別シート(下記参考)へ関数を使って、月ごとで最終日の数値を列ごとに 取得したいのです。
A B C D E 1 4月 5月 6月 7月 2 実績A 3 実績B
今現在作成した関数は、B2セルへ =VLOOKUP(B1,!$A$1:$E$500,2,TRUE) といった感じですが、この場合だとA列には5/20までしか日付が入力されて いなくても、別シートの6月・7月・・・にも現在入力を行っている最終行の 値が取得をされてしまします。
なにかいい組み合わせの関数をご教示いただけたらと思います。 よろしくお願いいたします。
< 使用 Excel:Excel2007、使用 OS:Windows7 >
面倒なので、同じシートで。
A B C D E F G H I J 1 日付 実績A 実績B 実績C 実績D 4月 5月 6月 2 16/4/1 100 200 300 400 実績A 250 1 1000 3 16/4/2 150 100 200 500 実績B 300 2 2000 4 16/5/1 1 2 3 4 実績C 500 3 3000 5 16/6/1 1000 2000 3000 4000 実績D 900 4 4000 6 7
H2 =SUMIFS(INDEX($B:$E,0,MATCH($G2,$B$1:$E$1,0)),$A:$A,">="&H$1,$A:$A,"<"&EDATE(H$1,1)) 範囲コピー。
※G列順不同 考慮 ※H1〜 は シリアル値で入力し、各月「1日」を設定。 (GobGob) 2016/05/19(木) 12:53
> 今現在作成した関数は、B2セルへ =VLOOKUP(B1,!$A$1:$E$500,2,TRUE)
ということはB1は月末日ってこと?
・検索シートの1行目(4月〜)の実体は月末日(表示形式〜ユーザー定義 m"月") ・実績A〜実績Dの並び順は両シート同じ
元シートがSheet1だとして
B2 =IF(MAX(Sheet1!$A$2:$A$500)>EOMONTH(B$1,-1),VLOOKUP(B$1,Sheet1!$A$2:$E$500,ROW(B2),TRUE),"")
実際の表はサンプルとセル番地が違っていても、ROW(B2) は変更しないように。
右・下コピー
とか。 (笑) 2016/05/19(木) 13:21
上手くいきました、 ありがとうございました。
もうひとつご無理をいいます。 今回に関数でエラー表示を非表示にしたいのですが、上手くいきません。 B2 =IF(MAX(Sheet1!$A$2:$A$500)>EOMONTH(B$1,-1),VLOOKUP(B$1,Sheet1!$A$2:$E$500,ROW(B2),TRUE),"")
ご教示ください。
(HONDA) 2016/05/19(木) 22:13
あー。また勘違いしてたね。。。
=IFERROR(IF(MAX(Sheet1!$A$2:$A$500)>EOMONTH(B$1,-1),VLOOKUP(B$1,Sheet1!$A$2:$E$500,ROW(B2),TRUE),""),"") (GobGob) 2016/05/20(金) 07:59
エラーとは? どんな場合に出る、何というエラーのことですか?
元シートが4月から始まらず、いきなり5月から始まるとか、そういうこと?
必ずお答え下さい。 (笑) 2016/05/20(金) 09:28
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.