(その2) クロス集計、名前の管理 EXCEL なんちゃって、下関エクセル教室
なんちゃって、下関エクセル教室 の第二弾
Sheet名: DAT データ領域
|A |B |C|D |E|
1| | | | | |
2| |2014年2月1日|1|みかん|1|
3| |2014年2月1日|5|野菜 |1|
4| |2014年2月1日|6|ごはん|1|
5| |2014年2月2日|1|みかん|2|
6| |2014年2月2日|2|りんご|2|
7| |2014年2月2日|4|梨 |2|
B列=日付
C列=食事の番号
D列=食事の名称(マスタから表示)
E列=数量(未使用)
Sheet名: RPT レポート印刷
|A |B |C |D |E |F |G |H |
1| | 食事 |1 |2 |3 |4 |5 |6 |
2| |2014年2月|みかん|りんご|いちご|梨|野菜|ごはん|
3| |1 |● | | | |● |● |
4| |2 |● |● | |●| | |
こんな感じのを作りたい、、、とします
考
え
て
、、、
見
ま
し
ょ
!
=================
Sheet名: CALC 計算領域
(X 食事, Y 日)G列を「KEY」という名前で登録しています
今回は有るか無いかだけを表示させているのでこの「KEY」だけで用が足ります
この「KEY」を作る事が考えられれば後は簡単!
---
B2 =IF(DAT!B2 = "", "", DAT!B2)
C2 =IF(DAT!C2 = "", "", DAT!C2)
D2 =DAT!D2
F2 =DAY(B2)
G2 =IF(C2 = "", "", C2 & "-" & F2)
D列は確認用、未使用なのエラーで良い
F列はG列でチェックしている為エラー可
---
=================
Sheet名: RPT レポート印刷
---
J1=セルが表示するマーク●です
よって変更可!
C1~H6=食事のコード番号になります
大体、DB では、マスタとして管理します
B2 =DAT!B2
B3 1
B4 =B3 + 1
B31 =IF(ISERROR(DATEVALUE(TEXT(B$2, "yyyy/mm/") & B30 + 1)), "", B30 + 1)
TEXT関数=エクセルの書式設定と大体同じ、2014/02/29 にしています
C3 =IF(ISERROR(VLOOKUP(C$1 & "-" & $B3, KEY, 1,FALSE)), "", $J$1)
D3 =IF(ISERROR(VLOOKUP(D$1 & "-" & $B3, KEY, 1,FALSE)), "", $J$1)
E3 =IF(ISERROR(VLOOKUP(E$1 & "-" & $B3, KEY, 1,FALSE)), "", $J$1)
F3 =IF(ISERROR(VLOOKUP(F$1 & "-" & $B3, KEY, 1,FALSE)), "", $J$1)
G3 =IF(ISERROR(VLOOKUP(G$1 & "-" & $B3, KEY, 1,FALSE)), "", $J$1)
H3 =IF(ISERROR(VLOOKUP(H$1 & "-" & $B3, KEY, 1,FALSE)), "", $J$1)
---
B31=日付をチェックしています、2月は28日迄なのでエラーになります
エラーの時は空白にしておけば、毎月の表も気にせずコピペで済みます
C3=C$1 & "-" & $B3 で同じ検索KEYを作っています
---
当然ですが、
ACCESS SQL、EXCEL機能でクロス集計は作れます
アクセスで組むのを前提であれば、良いですが、
エクセルだけのクロス集計では、中々思ったように1回では出来ません
作って、コピペして、再度、加工
見た目の良いのを作ろうとすればするほど手間暇がかかります
これなら、1回作るだけ
間に計を入れたりするのも、そんなに大変では有りません
---
次は、有る無しだけでなく、集計もやってみましょう
--- 2014-01-23 pm16:30 ---
画像が見辛いので入れ替えました