昔はJMPを使っていたのですが、解析結果をエクセルなどにエクスポートした結果は、データ量が多くなるとSPSSの方が利用しやすいため、今はSPSSを使っています。
ですが、SPSSの解析結果をエクセルにエクスポートしても、それを論文のテーブルに編集するのが非常に面倒だと感じていました。
例えば、SPSSで独立した2群のt検定を行った際、結果は
のように表示されるのですが、論文でのテーブルでは
のように、
- 平均、標準偏差は少数第2位を四捨五入した少数点以下1桁まで
- p値は整数桁を表示せず、少数点以下3桁まで表示したい
- 各群については 平均(標準偏差)と統計量を表す
- 差については 差の平均(95%信頼区間)と p値 を表す
と、表示形式を編集したいわけです。
*p値は元々希望の表示形式になっているように見えますが、 これはエクセルでの表示形式がデフォルトで少数第3位までの設定になっているからで、実際には少数第15位まで入力されています。 |
変数が1つや2つなら、自分で打ち込み直せばいいのですが、論文を書くとなると、変数は結構な数になり、誤植を誘発する原因にもなります。
つまり、SPSSの結果で出てきた数値に対して、
- 四捨五入して少数点以下n桁までを表したい
- 複数のセルの内容を組み合わせた内容のセルを作りたい
という作業を大量の変数に対して正確かつできるだけ簡単に実行したいわけです。
そのそれぞれを実行するエクセル関数、演算子がこれ。
① round(数値, n)
指定した数値(もちろんセルも指定可)を、四捨五入して、少数第n位までの数値に変換。
nに負の数を入れると、十の位や百の位までにすることも可能。例えば、
という表に対して、
入力例 | 結果 |
---|---|
=ROUND(D26,1) | 74.5 |
となります。
② &演算子
複数のセル内容、あるいは文字列を結合したセルを作成。例えば
という表に対して、
入力例 | 結果 |
---|---|
=A3&" ("&B3&" to "&C3&")" | -0.8 (-4.5 to 2.9) |
となります。
この関数と演算子の組み合わせで作った式をコピペすれば、多数の変数に対する論文用のTableの書式が一気に作れるわけです。
まとめ
ということで、上のエクセルから上述のtableを作成するには、 こんな感じで関数を使えばいけます。 (普段はround関数は別個で別のセルで使っていますが。) |
この記事へのコメント