タテヨコ変換の基本形①「行列入れ替え+値貼り付け」

本稿では、実務上極めて頻繁に出てくる「タテヨコ変換」の基本形「行列を入れ替えてえの値貼り付け」を紹介したい。とりあえず手っ取り早く「縦横変換」をしようと思うのであれば、この手法が最も簡単である。

実務上、エクセルの「タテヨコ」を変換したいと思うことがしばしば発生する。

たとえば、こんなデータがあったとしよう(図表1)。

図表1 東京都・新規陽性者数の一覧

この図表は、東京都ウェブサイト『新型コロナウイルス陽性患者発表詳細』からダウンロードしたデータをもとに、日付ごと・年齢階層ごとに集計した新規陽性者数の一部を抽出したものだ。

セルを見ていただくとわかるが、行(青枠)が日付、列(赤枠)が年齢階層を意味している。

この点、「年齢階層別」という区分が増える可能性は低いが、行数は無限に増えて行く可能性があるため、シートをこのような形式で作り込むのは、ある意味では当然のことである。

なぜなら、エクセルの場合、列数(つまりヨコ)は限られているが、行数(つまりタテ)は基本的に100万件を超えるデータを展開することができるため、無限に増えて行く可能性があるデータは縦展開するのが基本形である。

ただ、問題は、このままだとどうも加工し辛い、という点にある。

たとえば、実務上は「ある日の新規陽性者数だけを抜き出して、それを年齢階層別にタテに展開したい」というニーズが出てくることもある(図表2)。

図表2 東京都・8月29日における新規陽性者数の一覧と年齢階層別構成比

これを、どのようにして作り込むのが良いか。

いちばん簡単な方法は、「コピー」→「形式を選択して貼り付け」、だ。

具体的には、貼り付けたい値をひとつひとつ見つけ、範囲選択したうえで新たなシートに「Alt+E→S」で「形式を選択して貼り付け」ウィンドウを呼び出し、「値」「行列を入れ替える」の2つのチェックボックスにチェックを入れて「OK」を押すのがいちばん簡単な方法だ(図表3図表5

図表3 コピー

図表4 別シートにて「Alt+E」→「S」を押す

図表5 貼り付けた結果

とりあえずは、これが最も手っ取り早いだろう。