下関エクセル教室 (その1) 有るものだけを表示する EXCEL
なんちゃって、下関エクセル教室
等角フォントでないので見辛いデスが、、、
Sheet名: DAT データ領域
|A |B |C |
1| | | |
2| |みかん|有|
3| |りんご|無|
4| |いちご|無|
5| |梨 |無|
6| |野菜 |有|
7| |ごはん|有|
こんな感じのデータを下記の様に印刷したい
結構あります
Sheet名: RPT レポート印刷
|A |B |C |
1| | 食事 | |<--タイトル
2| |みかん| |
3| |野菜 | |
4| |ごはん| |
実は、DBの設計でも固定で10項目にするか、可変のテーブルを持つか!など、状況次第で色々あります
そんな時でも、両方でどちらも同じ事が達成できるなら云うことは無いですネ!
とりあえず、エクセルから、どうやったら良いか考えてみて下さい
なるべく、考えてネ!
SE の殆どの仕事は考える、これだけ!
これからOffice 習ってみようとか、思われる方も同じです
まず、考える、、、このクセを付けて下さい
私のやっている事は、最初にEXCEL を覚えた時から、殆ど変わりません
基本的な、いくつかだけ覚えてて、後は、考える!
回が重ねられると分かると思います
ほとんど、同じですから、、、
Sheet名: CALC 計算領域
---
A列数式 =A1 + C2
B列数式 =DAT!B2
C列数式 =IF(DAT!C2 = "有", 1,0)
このA、C列は何をしているのでしょうか?
よ~く見ると分かると思いますが、値が入っている"有"の変わり目に数値がカウントアップされています
しかも必ず、+1、なので連番になりますネ!
これが思いつけば後は簡単!
ゼロ表示されると見栄えが悪くなりますネ!
そんな時は、セルに値が無ければ、空白をセットするとキレイに見えます
B9 数式 =IF(DAT!B9 = "", "", DAT!B9)
---
Sheet名: RPT レポート印刷
---
A列数式 =A1 + 1
B列数式 =VLOOKUP(A2, CALC!A$2:B$11, 2,FALSE)
VLOOKUP A2と、範囲内 左1列目固定の中から探し、範囲内の2番目の値を、完全一致で返す
エラーが出るので、下記の様にします
先ほどと同じ、エラーだったら、空白をセットします
B9 数式 =IF(ISERROR(VLOOKUP(A9, CALC!A$2:B$11, 2,FALSE)), "", VLOOKUP(A9, CALC!A$2:B$11, 2,FALSE))
あんまり長いと見づらくなります
バグの元なので、下記の様にした方が分かりやすいと思います
B11数式 =IF(ISERROR(C11), "", C11)
C11数式 =VLOOKUP(A11, CALC!A$2:B$11, 2,FALSE)
---
CALC!A$2:B$11 は「名前の管理」で定義すると、増えた時10⇒20など簡単に修正ができます
---
ACCESS SQL だと、こんな感じ!
SELECT [食事]
FROM T3010_DB
WHERE [有無] = "有"
ORDER BY [NO];
---
いつもこんな感じで考え事をしております
その反動で、私生活では、なるべくグータラ人間になっております
(^^;
考えるクセを付けると色々良い事があります
一番は、ボケ防止、、、ほんと子供の頃はなんとも無かったのに、仕事をし始めると年々物忘れがヒドくなります
その分、覚えることが沢山あるって事でしょうが、、、
リハビリ、リハビリ、、、
(^^);
次は、これを踏まえて、自分でクロス集計しちゃいましょ!
ツールは使いませヌ、少しだけの関数で、やれますので、、、
宿題! 少~し考えてみてネ!
ちなみに今回のは、フィルター機能で手動で出来ます
Office2007 から、フィルター機能が便利になりました
お仕事の方法は1つでは無い!
何時も行う定例業務と一時的に行う仕事、提出期限、、、
などなどに依ってやり方を変える
これが仕事を楽しくやる秘訣かなぁ〜
引き出しが沢山あるとストレスも溜まりニクいです
何より、、、
凄く時間が掛かっていた作業が、簡単コピペで出来る様になるとモノづくりの楽しさが少しは分かってもらえるかなぁ〜などと考えております
--- 2014-01-21 pm21:49 ---
見直してた所、不備があったので訂正しました