● 静的な表=データ管理の「最終形」となる表=クロス集計表、マトリックス表、縦横表、など。

動的な表」を扱うソフトの代表格 → →「データベースソフト」が多いです。ORACLE(オラクルデータベース)、SQL Server、MySQL、PostgreSQL、Microsoft Access、Microsoft Query、FileMaker、など。(世界中のWebカートやGoolgeなどの企業の社内システム、弥生・奉行シリーズ等のデータベース、などに使われています。ただ、ソフト側(機械のルール)に人間様が少し合わせないといけません。なお、静的な表も生み出せますけど、下記の「静的な表を扱うソフトたち」のようなイレギュラーな静的な表は作れません。(下記のソフトたちで作れるような、ある意味「メチャクチャな静的な表」は作れません。下記のソフトたちはルールを逸脱するほどの「それが作れるがために」「メチャクチャなことがやれるがために」、重宝がられています。)

※★★ 重要関連記事
もしお仕事中に「動的な表」を見つけたらこう思えるようになって下さい。「やったあ!無駄な多段的関数やVBAを無くしてExcelの自動集計機能がたくさん使える!面倒から解放される~!!」

「静的な表」を扱うソフトの代表格 → →「表計算ソフト」が多いです。Excel、Googleスプレッドシート、Calc、三四郎、など。グラフや画像(ベクタ、ラスタ)なども扱えます。ソフト側に人間様合わせなくてもいいです。人間側のルールで言うことを聞かせることができます。でも、それがゆえの非効率をかなり生み出します。そのために無駄な「VBAや関数の多用」が必要になってきます。なお、動的な表も一応は扱えますけど、上記のソフトたちほどは扱えません。
  
  
※まだ書きかけです。すみません。
※間違ってたらすみません。
※メモ書きなので、自分でも意味不明な箇所も多いです。ごめんなさい。

目次
 ★ はじめに
 ★ シンプルなクロス集計表の例
 ★ 少し大きなクロス集計表の例
 ★ 静的な表から自動的に生み出せるもの(VBAプログラミング無しに)
 ★ ほとんどのExcel教室で詳しく教えられるのは「静的な表」のこと「だけ」なのでとても効率が悪いです
 ★ 補足・・・『「静的な表=クロス集計表」は、「動的な表から」「自動で作る」という意識に変える・・・』ことからすべてが始まります。
※Shift+TABキー、もしくは、Homeキー、Homeキー+TAB数回、を押すと、目次付近に戻れます。
  
  
★ はじめに

「静的な表」は、当サイトで勝手に言っている呼び名です。

データ管理の世界標準の基礎では、「静的な表」は「クロス集計表、マトリックス表、縦横表」、などとも呼ばれます。

動的な表から作り上げる、「最終的な」「かたち」の表です。

並べ替えで何かを調べる、というよりは、縦と横のクロスする地点(セル)で、物事を考えたり意思決定したリします。もちろん、「動的な表」と同様に、「仮説と検証」や、「PDCAサイクル回し」「問題の数値化」に活用できます。

なお、当サイトでは、「リスト形式の表(=テーブル=データベース形式の表=明細形式の表)」のことを、「動的な表」と呼んでいます。

そしてその「動的な表」のことを、「データ管理の世界標準の基礎」における「スタート地点」、あるいは、「変形可能なシステムそのもの」と位置付けていますが、「静的な表」は、その対義語として扱っています。

なお、「動的な表」は、VBAプログラムを使わずに、「Microsft Query」とか「ピボットテーブル」といった20年前からある「複数条件自動集計装置・複数条件自動リストアップ装置」にかけて集計効率等々を高めることができますが、本記事の「静的な表」では、同じことは基本的にはできません。

動的な表=データ管理の「スタート」となる表=テーブル、実表、リスト形式の表、明細表、データベース形式の表 』
https://euc-access-excel-db.com/tips/ct08_exceltruebasic/ct080301_dynamictable_n_statictable/dynamic_table
  
  
★ シンプルなクロス集計表の例

  
  
★ 少し大きなクロス集計表の例

  
  
特徴としては上図のような感じです。

(01)列名だけでなく、行名もあって、しかもそれぞれが多段的な場合も多い。

(02)時系列がどうとかこうとか関係なし。
日時や月を表すデータは縦方向にも横方向にも展開される

(03)セル結合がけっこうバンバン使われる。

(04)行名と列名で見て、クロスするところ(クロスするセル)が何らかの意味を表している。
(何の意味もない場合も少なくないですが・・・)
  
  
★ 静的な表から自動的に生み出せるもの(VBAプログラミング無しに)

結論から言うと(動的な表とは違って)、静的な表から自動的に産み出せるものは、基本的には「ありません」。

※静的な表においてはSQLもピボットも使えないため、既存の自動機能では何も産めません。もし、静的な表から自動的に何かを生み出したい場合は、VBAプログラミングを使うしかありません。
(「SQL」=Excelでは「Microsoft Query」のことを指します。)

動的な表については、『「SQL」や「ピボットテーブル」といった20年近くも前から既にExcelの中に組み込まれている「自動計算&リストアップ装置」』にかけると、次のように新たな表を産んで、いろいろに活用できます。(VBAプログラミングを使うまでもありません。)

(a)SQLを使うことで、「単一の動的な表からさらに別の動的な表(仮想表)を産みだすことができ」、それをピボットソースにすることができます(行列可変で範囲の再設定なし)
(「SQL」=Excelでは「Microsoft Query」のことを指します。)

(b)SQLを使うことで、「複数の動的な表を掛け合わせて、さらに別の動的な表(仮想表)を産みだすことができ」それをピボットソースにもできます(行列同上)

(c)ピボットテーブルを使うことで、「静的な表=クロス集計表」を簡単に生み出せます。

(d)SQLを使うことで、「複雑な条件での集計表(売上と粗利の集計表など)」を作れます。ピボットにもかけられます。(行列同上)

(e)SQLを使うことで、「複雑な条件でのリストアップ表(顧客リスト、DMリスト、カルテ、在庫表、その他諸々)」を作れます。ピボットにもかけられます。(行列同上)

しかし、それに対して、静的な表からVBA無しに自動的に産み出せるものは、基本的には「ありません」。
静的な表は、『「SQL」や「ピボットテーブル」にかける』といったことができません。
静的な表自体が、「SQL」や「ピボットテーブル」から生み出された「まとめ形」・「最終形」の表のかたち「そのもの」だからです。

意思決定には使いやすいけど、「最終形」の表のかたちであって、かつ、何も生み出せないから、また、自動変形もできない「固定された感じの表」だから・・・、だから当サイトでは、「静的な表」と呼んでいます。(ケースによっては多少の並べ替え等々はできますが・・・。)

SQL=Excelでは「Microsoft Query(2003以前では「新しいデータベースクエリ」)と呼ばれる機能のことです。Microsoft Queryは「フィルタオプション」機能と「集計」機能を足したような機能です。例えば、フィルタをかけると同時に(ついでに)集計・リストアップをもしてしまうことができ、かつ、その結果の表をさらにピボットのソースに「可変的にいつでも条件変更しながら再設定なしで」セットできます。また、VLOOKUP関数を扱うかのように、2つの表を紐付けして新たな動的な表を産みだすこともできます。紐付け自体はドラッグ一発だけでできます。Accessというデータベースソフトの「クエリ」という機能と、見た目も操作方法もかなり似ています。

少しまとめますと、「Microsoft Query」とは、少々乱暴な言い方をすると・・・

(01)VLOOKUP関数やExcel2016のリレーション機能のように表と表を紐付けする。
  (2表間で複数の紐付け可能・2枚以上の表も紐付け可能)
(02)フィルタオプションのようにセルに直接細かい条件値を入れてフィルタする。
(03)複雑でないならフィルタしながら集計機能やピボットのようにグループ化集計できる。
(04)ピボットテーブルのソースにでき、そのデータ範囲を(列や行が増えても減っても)
  指定し直さずにいつでもピボット更新でき・結果反映できる。

・・・といった、4つのことを「すべて同時に」できる機能です。

20年前(Excel97の時代)からOfficeに実装されている機能です。(一応Excelからは独立しているプログラムですがExcelとの親和性がすごく良いです。)

「Microsoft Query」の画面は、Microsoft Access のクエリと酷似しています。
SQL」と呼ばれるものも扱えますので、その勉強にもなり、AccessやSQL Server、MySQL、といったデータベース製品に触れる前に、それらの製品の基本原理を学ぶことができます。

ExcelでのGUIでの簡易SQL機能「Microsoft Query」の使い方(Excel2010でもほぼ同じ操作です) ~ ビジネスデータ管理(コスト減等含む)を2~100倍効率化するツールその1


  
  
★ ほとんどのExcel教室で詳しく教えられるのは「静的な表」のこと「だけ」なのでとても効率が悪いです

前項で・・・、

しかし、それに対して、静的な表からVBA無しに自動的に産み出せるものは、基本的には「ありません」。
静的な表は、『「SQL」や「ピボットテーブル」にかける』といったことができません。
静的な表自体が、「SQL」や「ピボットテーブル」から生み出された「まとめ形」・「最終形」の表のかたち「そのもの」だからです。

・・・と書きました。

このことと関連しますが、多くのパソコン教室で最初に教えられる表の多くが、この「静的な表」です。

このこととからめて言いますと、多くのパソコン教室で教えてくれるExcelの基礎は、「表としての最終形」・・・すなわち「出口」のことから教えてもらっているようなものです。
入口からではないので、順序が逆です。(データ管理の「入口」とは、「動的な表」のことです。位置づけの図として、こちらの図もご参考にしてください。なお、パソコン教室では「動的な表」のことももちろん教えてはくれますが、でも、「何故か深くは」教えてくれません。動的な表のほうがVBA無しでも100倍効率化できるのにも関わらず・・・。)

もちろん、最初の段階ではそのほうがとっついきやすいし、「静的な表=クロス集計表」のほうが見やすいのでそうなるのは当然かもしれません。いきなり「静的な表」から作り始めたとしても、その成果物には利用価値があるので、例えば「Excelの基本操作を覚える段階」といった、ある一定の時期まではそれでまったく問題ないと思います。

でも、そのあとに『 ビジネス定型集計と定型リストアップに限ってしか言えないけど、でも、静的な表(クロス集計表)よりも、動的な表(リスト形式の表)を作るほうが圧倒的に100倍データを再利用しやすい。データを一回入力するだけで100通りに・かつ・100倍速で再利用できる。なぜならExcelにはそれができる・・・、つまり、そこそこ複雑な定型集計と定型リストアップを、VBAや複雑な関数を使わずとも比較的簡単に行える自動機能が、20年も前から、標準で組み込まれているから』ということを絶対にお教えしないといけません。
今はそれがどのパソコン教室でも、まったく教えてもらえていません。
(勝手に「上級」と位置付けて教えてくれないのです。「上級」でもなんでもなくて、中高生でも理解できるのに・・・。)

それが諸悪の根源だと思います。

別の言い方で言うと、Excelという「ソフトの操作の基礎」だけを教えてくれているにすぎず、ソフトに依存しない「データ管理の基礎」を教えてくれてない、という感じです。

また、「入口からではなく」「出口から」教わっているので、発展性がありません。
20年も前からExcelに組み込まれている自動集計・リストアップ機能(VBAじゃないです)を使って、自動的・かつ・自由に表を変形・加工させることも出来なければ、それができないために、並べ替えやフィルタすらもできない=ひいては、意思決定もできず、結果、ちょっとした仮説と検証もできず、PDCAサイクルも回せず、「問題の数値化」もできず、自分で自分の目標値を作ることもできず、Excelがまったく活用できてない、Excelを「Wordでも作れるような精算票とか、備品票とか、旅行日程、報告書、申請書、・・・そういった表を作るだけのソフト」にしか使えていない(それは本当にExcelが必要なのか?という・・・)Excelユーザーが意外にも少なくありません。
「仮説と検証」や「PDCAサイクル回しの風土化」「問題の数値化の風土化」なんて夢のまた夢で、業者の言うがままに「BIシステム」なるものを突っ込まれて失敗して返済だけが残る、なんていう会社様も結構いらっしゃるのではないでしょうか?
その諸悪の根源はすべて、「ほとんど静的な表のことしか、教室もWebも学校も教えてくれないから」ということだと思います。

これはExcelユーザー(エンドユーザー)のせいではありません。
教える側のせいです。
(繰り返しになりますが、データ管理の「入口」とは、「動的な表」のことです。)

「ほとんど静的な表のことしか、教室もWebも学校も教えてくれない」から、安直に「VBAを使おう」、ということになってしまうのですが、VBA自体がなかなか独学ではモノにできにくい機能です。時間かかかります。それにデータ管理の基礎を学んでないのにVBAを使っても無駄なプログラムを大量に書く羽目になります。

というわけで、多くの人が、「Excelでは素人には高度なことはできない」「結局VBAが無いとダメ」「でもそんな時間もお金も無い」とあきらめてしまうケースが多いです。

結果、「VBAや関数を自由に駆使できる人が偉い」とも勘違いしてしまい、そのほか、なぜか、「パソコンのデータの中にすべての答えがある」とか「数字がすべてを物語る」とか愚かな勘違いもしやすいです。

話はそれますが、「数字だけ」で「いつも」「すべてがわかる」なんて幻想だと思います。数字だけでわかることなんてたかが知れている気がします。

ドラッカー先生も「既存客ではない未知のお客様の中にこそ、大きな売上アップの要素がある」という旨のことをおっしゃっていますし、松下幸之助先生も「数字を扱うにも勘が冴えてないとダメ」とうようなことをおっしゃっていたと思います。

そもそもパソコンの中には、既存客のデータしかなく、これから顧客になるであろう未知の顧客の情報は何も入力されていません。彼らが望む情報も多分ほとんど入っていません。そもそも、もしそんなものがあったらどんどんお客様が途切れずに増えているわけで・・・。商圏情報も顧客心理も入力されてないし、されていてもパソコンは計算が速いだけで心理は分からないので数字と掛け合わせて答えが出せるわけもありません。

それを「数字がすべてを物語る」なんて、嘘です。

「こうかも?」という可能性が見えるだけで答えなんて出ません。

粉飾決算出されたら誰も見抜けなくて、負債額100億近い某旅行会社のようなことにもなるわけですし・・・。

結局は人間の勘、現場の勘、をフル稼働させ、お客様の望むことを推測して、動かざるをえないのです。

また、そうはいうものの、数字やデータはやはり限定されたシーンでは利用価値があります。
時短をしてくれるシーンもやっぱりあります。
でも逆に人を平気で騙しもするので、そんなもん(データ)に振り回されないようにするためにも、集計やリストアップをくるくると分・秒単位の短時間で切り口をかえてたくさんできるようにしておいたほうが良いと思います。そうすれば「どこまで瞬間切り替え集計して 何も見えなかったらこの集計は無意味。やる時間がもったいないからもうやらない。」との判断も付きやすいのでいいと思うのです。

ExcelではわざわざVBAなんて使わなくてもそれができる機能がたくさんあります。
でもそれには「動的な表」が必要不可欠です。
「静的な表」だけでは何もできないに等しいです。
「静的な表」だけしか作らないなら別にExcelである必要もあまりないですし。

「静的な表」「だけ」を習って、それしか扱えない状況ですと、そういった感じで、「データごときに振り回される仕事」しかできなくなります。

人間にとって大切なのはやはりアナログであり、デジタルも扱えるようになる必要はありますが、ただ、デジタルは捨ててもなんとかなります。

話が逸れてすみません。

「静的な表=クロス集計表」はとても大切なもので、意思決定や仮説と検証、PDCAサイクル回し、「問題の数値化」などにとても役に立ちます。でも、「静的な表(クロス集計表)よりも、動的な表(リスト形式の表)を作るほうが圧倒的に100倍データを再利用しやすい」ということを教えてもらえてないので、どのExcelユーザーさんも無駄なVBAや関数ばかりを使わされています。
とても、視野の狭いデータ管理方法だけを教わることになってしまっています。

当サイトの「Excelの真の基礎」では、もちろん、それですべてができるとは言いませんが、「静的な表(クロス集計表)よりも、動的な表(リスト形式の表)を作るほうが圧倒的に100倍データを再利用しやすい」ということを述べていきます。

当サイトの「Excelの真の基礎」は完全ではありませんが、でも、今のように、「静的な表(クロス集計表)」の作成法とそれを軸にしてしまった利用法「だけ」しか教えてもらえないまま、「大量で無駄なVBA」や「入り組んだ関数」なんかを押し付けられる・・・そんな状況に陥らされるよりは、はるかにマシ、だとは思っています。

だいたい、やらなくていい無駄な集計自体がやりたくないですし・・・。
「印刷したけどすぐに捨てる」とか「誰もあとで見直さない」、なんていうお仕事のうち、MicrosoftQueryやピボットテーブルですぐに出せる集計のお仕事は、基本、やらなくてもいいと思います。みんながMicrosoftQueryやピボットテーブルの使い方を知っていればいつでも出せるわけですから・・・。

本来、ExcelのVBAとは、「グラフやピボットテーブル」を自由自在に動かしたり、複雑な条件での「高度なシュミレーションプログラム」を作るためにあるものです。それによって、意思決定等々をしやすくするためのものが、ExcelのVBAです。恐ろしくすごいことができると思います。
逆に、リレーショナルデータベース(SQL)の簡易的なもので解決できてしまうようなこと(当サイトで言っているそこそこ複雑な条件でのビジネス定型集計やリストアップ)に利用するものではありません。

VBAの使いどころが分からない人からVBAを習うと悲惨です。
書かなくてもいいプログラムを書く羽目になり、しなくても済んだエラー対策に時間を費やしすぎたり、金額コスト、時間コスト、本当にバカみたいに浪費します。

そういうことを防ぐためにも、本サイトの言う「Excelの真の基礎」のことをぜひ、ほんの少しでもいいので、ご自分でも考えてみてください。

  
  
★ 補足・・・『「静的な表=クロス集計表」は、「動的な表から」「自動で作る」という意識に変える・・・』ことからすべてが始まります。
ちなみにですが、データ管理の基礎の世界では「静的な表=クロス集計表」は・・・、本当は「動的な表=テーブル」から、「SQLやピボットテーブル」などを用いて、「自動的に」つくりあげるものです。

データ管理の世界標準の基礎では、「静的な表=クロス集計表」を「手作業」で作ったりしません。

「動的な表=テーブル」から、「SQLやピボットテーブル」といった「ある意味自動計算器」=「昔からある自動集計機能(両方ともExcelにも入っています)」などを用いて、「自動的に」つくりあげるものです。

特に、システム業者さんや専任の社内SEの方々は、昔から「SQLやピボットテーブル」といった、複式簿記と同じくらい有名な「自動集計機能」が存在することを既に知っているので、「静的な表=クロス集計表を手作業で作るのなんてやってらんない。そんなの面倒くさいから 昔からある自動集計機能でぱぱぱっと作っちゃう」ということをずーっと昔からやっています。

でも、多くのパソコン教室ではそれを教えてくれません。

Excelにもその機能が「(特にSQLは)20年も前から」組み込まれているのに、です。

いきなり、最終形である、「静的な表=クロス集計表」を、「手作業で」作ることから教えられます。

自動ではなくて。

もちろん、超初心者の方には、最初はその教え方のほうがとっつきやすいのでそう教えするのはあたりまえといえばそうなのですが、問題は、「より複雑な条件で色んな切り口に切り替えて短時間にパッパッパと集計切り替えをしたり、リストアップ切り替えがしたい」という場合です。

それは経営者も現場の方もやりたいのですが、その時に、「VBAから入る」という誤った道を日本のマイクロソフト、Excelのレジェンド、Excelのパワーユーザーさんたちは行ってしまいました。

なぜ「SQLやピボットテーブル」をVBAよりも先に教えなかったのか、わかりませんが、ビジネス定型集計やリストアップだけに限って言えば、VBAよりも、「SQLやピボットテーブル」のほうが、「プログラマでもSEでもない人々」が、「短時間に欲しい数字を得る」ことができます。

決して「超」簡単ではないですが、かといって「超」難しいわけでもありません。
経営の数字を知りたい、と常々考えている方なら、理解できるくらいの難易度です。
(特にビジネス定型集計では。それ以外の部分では奥が深すぎてプロの方じゃなととてもムリなことも少なくないですが、でも、私たちド素人であっても扱える部分も決して少なくないのです。)

少なくとも、ビジネス定型集計に限って言えば、VBAを使うよりも10倍簡単で早くてコストも安いです。

まさに、安い、速い、うまい、です。あくまでも、ビジネス定型集計やリストアップに関してだけ、ですが・・・。

いずれにしましても、そのとっかかりは、『「静的な表=クロス集計表」は、「動的な表から」「自動で作る」という意識に変える・・・』ことから始まります。
  
  

関連記事
『 動的な表=データ管理の「スタート」となる表=テーブル、実表、リスト形式の表、明細表、データベース形式の表 』
https://euc-access-excel-db.com/tips/ct08_exceltruebasic/ct080301_dynamictable_n_statictable/dynamic_table