その他インターネット

エクセル嫌いのための「趣味のエクセル」

数字ぎっしりの表計算ソフト、大事だとわかっていても、敬遠してしまう。そんなエクセルへの敵討ち。エクセルをおもちゃに遊んでしまいましょう。メルマガを見ながら、エクセルにひとつずつ入力していると、意外に可愛いやつになってくるかも。

全て表示する >

「趣味のエクセル」No.105 2012/8/5 えっちょ流「エクセルの基礎知識」(8) 行列を入れ替える

2012/08/06

         OOO 今日のお遊び OOO

****** えっちょ流「エクセルの基礎知識」(8) ********

★ 前回までにやったこと 

((( カレンダーで遊ぶ )))
(((  スタートリック  )))
((( 暑中見舞にひと工夫 )))「スピードくじ」を作る
((( 暑中見舞にひと工夫 )))気配り案内状を作ってみる
((( 暑中見舞にひと工夫 )))はがき裏表を作成する
((( グラフ機能を使って絵を描く )))グラフで作る幾何学模様
((( グラフ機能を使って絵を描く )))「帆船」を描く
((( ブロックくずしを作る )))一時休止です。しばらくお待ち下さい。
((( ナンバープレースを解く )))
((( 3択トレーナー ショートカットキー・マスター )))
((( 万華鏡もどき )))
((( ユーザー定義の書式を拡げる ))) 選挙啓発ポスター
((( セイムセットを解く )))
((( フエル・カレンダー )))
((( 「日報」作りを楽しむ )))
((( カレンダーの写真を自動変更 )))
((( 漢字ナンクロツール )))
(((えっちょ流「エクセルの基礎知識」)))
   A ワークシートとセル
   B 列と行
   C 表を作成する
     (1)項目を立てる
     (2)入力の仕方をイメージする
     (3)見栄えよく飾る
   D 表を作成する2(表計算の原理)
     (1)セルは値の格納箱
     (2)エクセルはデータを解釈して計算する
     (3)セル参照とはセルとセルを関係付けること
     (4)絶対参照と相対参照
     (5)相対参照ではコピーした時参照先が変わる
  (6)行・列を挿入した場合参照先は変わらない
  (7)セルを移動した時、移動したセルの参照先は変わらない

  はじめての方は申し訳ありませんが、バックナンバーを見てたどってみて
 ください。
                        ───→ http://homepage3.nifty.com/hcho/

===================================


****** えっちょ流「エクセルの基礎知識」(8) ********


D 表を作成する(表計算を使う表)

3)更にちょっとした実験

 c 参照元のセルを移動させる

   前回セルを移動させて、移動したセルの参照先は維持されることを確か
  めました。今回は逆に参照される側のセルを移動させるとどうなるか実験
  してみます。

   前回使った表を用意してください。この表のA〜C列のどの表も最終的
  にはセルA1の「1」と言う定数を参照しています。

  (1)セルA1をB1に移動する

     前回やった要領でセルA1を右隣のB1の場所に移動します。

     表示されている表に大きな変化は見られません。

     実際に格納されている式を確認してみます。

     セルA2:ここには「=A1+1」という式が入っていました。
          移動後は「=B1+1」となっています。

     セルB2:ここには「=$A$1」という式が入っていました。
          移動後は「=$B$1+1」となっています。

     セルB20:ここにも「=$A$1」という式が入っていました。
           同じく「=$B$1+1」となっています。


     参照されるセルが移動してもセルの参照関係は変わらないように見
    えます。

  (2)縦のものを横にする

     前回セルA20を移動させてセルA19を参照しているという関係
    は変わらないことを確認しました。今回参照されるセルを動かしても
    参照関係は維持されることは確認しましたが、さらに念押しで、縦に
    並んでいる関係を横向きに移動させるとどうなるかを試してみます。

     セルA20をセルB23に移動させます。
     ここで式が「=A19+1」であることを確認します。

     次にセルA19をC23の所へ移動させます。

     移動させた位置のセルの内容を調べます。
     セルB23:「=A19+1」→「=C23+1」と変わります
     セルC23:「=A18+1」です

     次に一つ飛ばしてA17のセルをD23に移動させて見ます。
     セルC23:「=A18+1」のままです。
     セルD23:「=A16+1」となっています。

    縦の表を横向きに並べ替えても「セルの移動」では関係が変わらない
   ことがはっきりしました。

  (3)形式を選択して貼り付け「行列を入れ替える」

    エクセルにはコピーした表を「形式を選択して張り付け」の中の「行
   列を入れ替える」という項目で、縦の並びを横向きに変更する機能があ
   ります。これを実行しても一見同じような結果が出ます。(「作品集新
   館」『計算式が入った表サンプル』参照)

    実際どうなっているのか実験で確かめたいと思います。

    セルA1:C5を選択し、コピーボタンでコピーする
    セルA23を選択する
    右クリックして「形式を選択して貼り付け」→「行列を入れ替える」
   をチェックして「OK」を押す(赤の2重線で囲まれた範囲)

    
    次にセルB1:C5を選択してコピーする
    セルB27を選択して、同じ手順で行列を入れ替えて貼り付ける
    (グリーンの色をつけた範囲)

    もとの表の赤い線で囲まれた範囲を、コピーして行列を入れ替えて貼
   り付けたものを「貼り付けた表1(略して表1)」として赤い線で囲ん
   でいます。

    同じ発想でセルにグリーンの色をつけた表を「貼り付けた表2(略し
   て表2)」と呼ぶことにします。

    どちらの表ももとの表を単純に横倒しにしたものではなく、行番号の
   小さいものから大きいものへ続いているセルを、列番号の小さい方から
   大きいほうへ置き換えています。同じように列番号の方も行番号の順番
   に置き換えています。

    表1と表2の違いは、一番上の段、もとの表のA列に当るセルと、一
   番下の段、もとの表のC列に当るセルに表示されている数字が違ってい
   ることです。

    それぞれの表に入っている式を確かめて見ます。( )内は表示され
   ている数です。

   表1の内容

      (1)  =A23+1(2)   =B23+1(3)   =C23+1(4)   =D23+1(5)
            =$A$23+1(2) =$A$23+1(2) =$A$23+1(2) =$A$23+1(2)
            =A$23+1(2)  =B$23+1(3)  =C$23+1(4)  =D$23+1(5)


   表2の内容

            =A27+1(1)   =B27+1(2)   =C27+1(3)   =D27+1(4)
            =$A$1+1(2)  =$A$1+1(2)  =$A$1+1(2)  =$A$1+1(2)
            =$A1+1(2)   =B$27+1(2)  =C$27+1(3)  =D$27+1(4)


   もとの表(A1:C5)の内容

      (1)
      =A1+1(2)  =$A$1+1(2)  =$A1+1(2)
      =A2+1(3)  =$A$1+1(2)  =$A2+1(3)
      =A3+1(4)  =$A$1+1(2)  =$A3+1(4)
      =A4+1(5)  =$A$1+1(2)  =$A4+1(5)

   表1は、もとの表のA1の位置がA23に移動してきているために書き
  換えは起こっていますが、セル同士の関係は正確に保持されています。

   それに対し表2の方は、A1の数字を元の所においてきたために、書き
  換えに異常が発生しています。

   もとのA列、表2の行27は、相対参照のセルですが、「上のセルを参
  照する」が「左側のセルを参照する」に置き換わっただけです。その結果
  数字の入っていないA27を参照することから計算が始まっているため、
  表示されている数字がもとの表より「1」少なくなっています。

   もとのB列、表2の行28は絶対参照のため、おいてきたもとのA1を
  参照したままです。この場合、もとの表がそのままでなければ正しい数字
  は表示されないことになります。

   もとのC列、表2の行29は、列だけを絶対参照、行は相対参照すると
  いう使い方によっては便利な参照方法なのですが、先頭のセルはもとの表
  の式がそのまま移動しており、その次のセルからは、「二つ左の列の同じ
  行のセルを参照する」という原則を単純に行列入れ換えた「二つ上の行の
  同じ列のセルを参照する」という式に置き換えたため、もとの表の数字と
  は大きく異なった表示になっています。


   この貼り付け方法は、セルの参照関係が表の内部で完結している場合に
  は非常に便利で有効ですが、他の表や、他のワークシートを参照している
  ような、複雑な関係の場合は、とんでもない結果が出てくる恐れがあるよ
  うです。

   私自身あまり使うことの少ない機能で、グラフ作成のときなどについ縦
  のものを横にしてしまい、エラーになることを経験しましたので、ちょっ
  と中身を確かめてみました。

<重要語句>

○行列を入れ替えて貼り付け

----------------------------------------------------------------------
┌┌┌┌┌┌┌┌┌┌┌┌┌┌┌┌┌─┐┐┐┐┐┐┐┐┐┐┐┐┐┐┐┐┐
┌┌───────────────────────────────┐┐
 │     「趣味のエクセル」REVIVAL(75)      │
└└───────────────────────────────┘┘
└└└└└└└└└└└└└└└└└─┘┘┘┘┘┘┘┘┘┘┘┘┘┘┘┘┘
===================================

         OOO 今回のお遊び OOO

********    フエル・カレンダー(6)    *******

9 カレンダーが広がれば何かが変わる

 b 「行動記録」を表示する

   ワークシートに「記録・予定データ」とか、「記録・予定画面」という
  名前が付いているのはなぜだろうかと思われているでしょう。

   実は、はじめは簡単な記録を表示することを考えていました。数週間繰
  り上げて、「ああ、この週はこんなことがあったんだ」とか「あれは、映
  画をみた帰りだったから、○月○日のことだ」といったことを思い出す、
  そんな道具に使えたら、と思ったからです。

   そのためには、行動を記録するツールが必要です。次回はそれをやって
  みたいと思います。

     *************************

   日付にまつわる情報の表示は、前回やった形を基本にすると、表示する
  情報の中身を変えるだけで、いろんなバリエーションを作ることが可能で
  す。

   今回取り組むのは日々新しく発生する情報を貯めておいて、日付に合わ
  せて表示するというパターンです。

   貯めた情報を表示するやり方は前回やったのを流用するだけですから、
  今回のポイントは、日々発生する情報をためる方法です。しかしその前に
  今回のテーマに合うようにファイルを整理しておくことにしましょう。

 (1)新しいファイルを作る

   ・前回作成した「フエル・カレンダー」ファイルを開いてください。
   ・開いてファイルを別の名前で保存します。
     メニューバーの「ファイル」→「名前を付けて保存」を開きます。
     ファイル名を「フエルカレンダーV2」にして「OK」します。

 (2)データ項目を整える
   ・今回のデータは、「日付」と「記録」、「予定」の3つです。
   ・ワークシート「記録・予定データ」のセルA1に「日付」、セルB1に
   「記録」、セルC1に「予定」と書き込みます。

 (3)表示画面の式を変更する
   ・ワークシート「記録・予定画面」の列Bに書き込んである式は、ワー
   クシート「暦データ」、「六輝データ」のデータを参照していますか
   ら。これをワークシート「記録・予定データ」のデータを参照するよう
   に変更します。
   ・セルB1の式を次のようにします。

   =IF(COUNTIF(記録・予定データ!$A:$A,A1)=0,"*",_
   VLOOKUP(A1,記録・予定データ!$A:$C,2,0))

   ・セルB11の式を次のようにします
      =IF(COUNTIF(記録・予定データ!$A:$A,A11)=0,"*",_
      VLOOKUP(A11,記録・予定データ!$A:$C,3,0))

 (4)「暦データ」「六輝データ」のワークシートを消去

   この二つのデータは使用しませんから、今回はワークシートごと消去し
  ます。
   ・ワークシート「暦データ」を選択します。
   ・メニューバーの「編集」→「シートの削除」をクリックします。
   「選択したシートに、データが存在する可能性があります。データを完
   全に削除するには、[削除]をクリックしてください。」というコメント
   が出ます。
   ・今回はいさぎよく「削除」ボタンを押します。(本当に消す時だけに
   してください。これを押すと復活はできません。唯一救う方法は、編集
   中のファイルを違う名前で保存して、前のファイルを置いておくことだ
   けです。)
   ・同様にワークシート「六輝データ」も削除します。
   ・この状態で今はワークシート「記録・予定データ」が選択されていま
   す。

 (5)「データ入力」シートを作成する
   ・メニューバーの「挿入」→「ワークシート」をクリックします。
     *「挿入」をクリックして出てくるメニューリストの中に「ワーク
     シート」がない場合は、マウスポインターを「挿入」のところにお
     いたまましばらく待つか、リストの一番下の「▼」を押すと挿入メ
     ニューが全部表示されます。
   ・「Sheet1」という名前でワークシートが挿入されます。
   ・ワークシート「Sheet1」のシートタブのところでマウスの左ボタンを
   押してしばらくそのままでいると小さな「▼」とシートのアイコンが表
   示されますので、その状態のままポインターを「記録・予定データ」の
   右側へドラッグします。新しいワークシート「Sheet1」が右側へ移動し
   ます。
   ・ワークシート「Sheet1」の名前を「記録データ入力」に変えます。

 (6)データ入力欄を作る
   データ入力欄を作る、という時大きく分けて二つの側面があります。
   一つはどんな項目を入力するかということです。
   もう一つは、初めて入力するのか、既に入力してあるものに変更を加え
  る(修正する、削除する)のかということです。

   ・入力項目を決定する
    入力するのは、「日付」と「記録記事」、「予定記事」の3つです。
    
    日付の入力というのは結構工夫を要します。例えば「2007年1月10
   日」を入力するとき、「2007/1/10」と入力するのが、エクセルにとっ
   ては一番自然なのですが、入力する側にとって面倒なのが「/」の入力
   です。テンキーの付いているキーボードですと、数字も「/」もみんな
   テンキーの中にありますから、わりと入れやすいのですが、ノートパソ
   コンですと「/」だけ少し離れたところにあり、よほど慣れた人でない
   と手があちこちします。うっかり日本語入力モードのままですと「・」
   が入って大慌てします。
    できれば数字ばかりで入力できればずいぶん樂です。

    数字ばかりで年月日を入力するには二つの方法が考えられます。
    一つは「2007」、「1」、「10」を別々に入力してつないでしまう方
   法です。もう一つは「20070110」のように年月日の数字だけを並べて入
   力してしまう方法です。この場合も後でこのデータを「2007」、「0
   1」、「10」に分けてあらためてつながなくてはなりません。どちらの
   場合もつなぐのに「DATE関数」を使って「シリアル値」に変換して活用
   します。

    今回の場合は年、月、日を別々に入力する方法を取っています。続け
   ていくつかのデータを入力するとき、年、月が同じである場合、この方
   法ですと前に入力した年、月を残して、日だけを変えるだけですみます
   が、年月日の数字を続けて入力する方法ですと、いつも年月日の全てを
   入力しなければなりません。

    「記録記事」、「予定記事」についてはそれぞれの文を入力できるよ
   うにすればいいでしょう。

   ・入力モードを整理する

    ある特定の日の記事を、初めて入力するのであれば何も心配はないの
   ですが、もし前にその日の記事が既に入力されている場合、前の記事を
   消して新しい記事に置き換えるのか、前の記事を残しておいて、新しい
   記事を追加するのか、ということは大きな選択です。また前に入れた予
   定記事の内容が変わったので、その部分だけ変えたいという時の取り扱
   いもできるようにしたい。また予定が変わったので、前に入れた記事を
   削除したいということがあるかもしれません。入力モードというのはそ
   のような問題に対応するためのものです。

    準備するのは
     1 新規入力する
     2 修正または追加する
     3 削除する
     4 何もしないで終了する
   の4つの場合です。
    日付を入力したときに、このどれかを選択することで入力結果の取り
   扱い方が変わるようにします。

   ・入力済の記事を表示する

    入力モードを選択するのに、その日付の記事を前に入力したかどうか
   がわかればとても助かります。そこで日付を入力すると、その日付の記
   事を記録・予定データの中から探し出して表示するようにします。

   ・データ入力画面

    以上のような事柄を考慮して作成したのが、新しくアップした「フエ
   ルカレンダーNEW」の「記録データ入力」シートです。
    次回はこのシートの内容を説明していきます。

===================================

編集後記:最後までおつきあい下さりありがとうございます。

毎夜のオリンピック観戦で、生活リズムはいかがですか。予定通りの暑さで、
熱中症も頻発しています。くれぐれも無理をなさらないよう、健康にご留意く
ださい。

8月に入った途端に9号、10号のダブル台風、今日は南海上では第11号が
西南諸島を襲っています。梅雨末期の豪雨禍に引き続き、四国・九州以南、近
畿南部の雨の多い地域には土砂災害の危険が続きます。

外国産の安い材木の輸入により、森林管理の採算性が無くなり、開発の名の下
に森林の宅地化、原野化が進み、山林の保水力が低下して土砂災害が増えると
警告されてから数十年、まさにその通りの現実が起こっています。

科学の「経済」性に対する敗北は、原発に限ったことではなく、1960年代
以降の「経済」優先の国家運営の無理はいたるところでほころびを露呈してい
ます。わかりやすく言えば「金儲けのために安全を犠牲にしたつけが回ってき
ている」と言うことですが、3・11の震災ではなく、3・12の原発事故
は、儲けに浮かれきった私たちの考えを根底から揺さぶっています。

その責任は直接的には「政治」と政治にのっかった経済界にありますが、政治
主導の流れの中で力をつけた経済界が、いまや、政治の方針転換を妨害してい
ます。

国民生活を犠牲にして肥大化した政治と経済が、国民の上に乗っかって収奪を
繰り返しているという典型的な「時代の末期症状」が私たちを覆っています。

東京を中心に展開されている脱原発の市民行動がそうした危機状況を覆そうと
する国民の側の意思表示であることは疑いの無い事実であり、既成政治を形成
してきた政党群への反発が、橋下維新の会や小沢「国民生活が第一」党への期
待へと結びつくのも、この状況下のなせる業といえます。

しかし私たちは、まだ本来のあるべき政治経済を見つけてはいません。ただ既
成の政治経済を憎む段階にとどまっており、出来合いの処方箋をあれこれ引き
出してそれに期待をかけているだけで、自らの理想社会のイメージも政治方針
も政治組織も生み出してはいません。

それを生み出すのが当面の国民の責務であり、国民の側に立つイデオローグの
使命であろうと思われます。

   *             *            *


この号は7月の末に出すべく準備をしていましたが、本文の作成に8月1日ま
でかかり、編集後記を纏めるのに今日までかかってしまいました。とんでもな
い暑さの連続とオリンピックが最大の障害でした。皆様におかれましても、暑
さ対策を充分にとられて、今夏を乗り切っていかれますようお祈りいたしま
す。


===================================

規約に同意してこのメルマガに登録/解除する

メルマガ情報

創刊日:2005-07-19  
最終発行日:  
発行周期:不定期  
Score!: - 点   

コメント一覧コメントを書く

この記事にコメントを書く

上の画像で表示されている文字を半角英数で入力してください。

※コメントの内容はこのページに公開されます。発行者さんだけが閲覧できるものではありません。 コメントの投稿時は投稿者規約への同意が必要です。

  • コメントはありません。