エクセルでデータベースを作成~個別データをINDIRECT関数で1つに統合~テンプレート付き♪

エクセルでデータを扱っているだけど、複数のシートの情報を1つのシートにまとめるのが面倒。

でもケース毎にシートを分けてないと、データ収集自体が大変。。

コピペコピペでやっているけど、非常に労力がかかるし、何といってもミスが発生するからとてもストレスだ。。

この前エクセルを用いて自作のテンプレートを作成したのであげます♪

INDIRECT関数を使って、複数のシートの情報を一つのシートに自動的にまとまるようにしています。

アレンジできるように関数の仕組みも説明しますね。

もくじ

1. エクセルのデータべーステンプレート

2. カスタマイズするためにINDIRECT関数の必要最小限を理解しよう

目次

1. エクセルのデータべーステンプレート

下記のものが、今回私が実験を行いデータを収集するにあたって作成したエクセルシートの抜粋です。

「Data base」のシートが解析ソフトで解析しやすい様にデータを統合したものです。

シート「1」「2」「3」「4」「5」にそれぞれのケース毎にデータが入れています。収集しやすい様にセルの配置を決めています。

私は、循環器内科医ですが、もともと病院の患者データを数百人取集してデータベースを作成してそれを解析するという方法で臨床研究をやっていました。

1行に患者1人の情報をまとめ、それぞれパラメーターをそれぞれの列に書いてまとめます。

例えば患者が100人、収集する項目が20項目だと、100行と20列(+タイトル1列)のエクセルシートを完成させ、それをSPSSやJMPなどに解析ソフトにインポートして解析を行います。

2019年よりオーストリアの大学に留学し生理学の基礎的な研究を行っています。

現在は、10例ほどの健常人にいろいろな負荷をかけ、各状態でのパラメータのデータ収集しています。

よって、血圧や脈拍などの基本的なデータは数回(もしくは数十回)繰り返して測定し、別々のセルにデータを入力して行きます。

そうなると、最初から1つのシートに全症例のータを入れていくと、どこまでデータを入れたかわからなくなったり、間違いが多くなったり非常にストレスを感じました。

ですから、今回、症例やケース毎にデータを入れやいようにデザインしたシートを作成し、それから、今度は統計しやすいシートを作成する事を、ストレスなく行うためにINDIRECT関数を用いました。

これで、各シートの特定のセルのデータを症例毎に各行に自動的に反映させるシステムを構築する事ができます。

2. カスタマイズするためにINDIRECT関数の必要最小限を理解しよう

このページに添付したエクセルシートで、「Data base」シートにnameの列を作成するやり方を例に説明します。

「Data base」シートのB2セルで使用されている式は以下の通りです。

=INDIRECT(A2&”!E2″,TRUE)

A2 は「Data base」のA2の数字という事です。この場合は”1”です。

ここが最大のポイントですが、A列の数字や文字を、各シートの数字や文字と一致させておきます

というのも、INDIRECT関数の最初の数字は”どのシートを参照するか”の指示になるからです。

すこし分かりにくいですが、ここで私がやったのは以下の内容です

INDIRECT(A2 の意味

INDIRECT関数に参照するシートはA2に書かれている表記と同じシートであると指示する

→INDIRECT関数がA2を見ると”1″と書いてある

→INDIRECT関数は”1″というシートを参照する

その後は、対応するシートのどのセルを持ってくるか指示を出します。

それが、&”!E2″,TRUE の部分です。対応するシートのE2セルの情報を持ってくるように指示しています。

症例2,3,4,5も症例1と同じようにINDIRECT関数を用いてデータを持ってくるには、ご存じのようにB2セルの端にカーソルを合わせてダブルクリックすればいいですね。

以上の事が分かっていれば、シートや項目を増やす時も自由自在にカスタムできると思います。

フォローしてね♪

シェアしてね!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT US

CHIROME
大学医学部卒→研修医→循環器内科・医学博士→宇宙医学の研究のため2年間海外留学(就職)。日々直面する色々な問題と格闘した軌跡を共有します。 サーフィン・バスケットボール・登山が好き。