Web
Analytics

【関数で作る】Excelだけで白黒ノイズを作る方法

こんにちは。

心理学実験の準備をしている皆さん、下記のような白黒ノイズ画像を作りたい!と思ったことはありますか?

f:id:husbird:20210918170421p:plain
無意味な刺激を呈示したい、刺激を出す前にマスク画像が欲しい、という考えから「変化の見落とし」に関する実験などで使われることが多いです。

ただ、本当の意味でランダムな白黒ノイズ画像の作り方はどこにも解説がありませんでした*1

そこで今回は、Excel関数だけで、白黒ノイズ画像を大量に生成する方法を解説します。

画像全体の大きさを決める

今回は、Excel上のセル(升目のこと)に色を塗ることで作成します。従って、意図した大きさの白黒ノイズ画像を作るためには、セルの大きさを刺激を投影するスクリーンに合わせて決める必要があります。

まず、何行×何列の白黒ノイズ画像にするか決めましょう。行数/列数が増えるほど繊細なノイズ画像になります。

次に、投影するモニターでの大きさに合わせ、1セル当たりの行/列の幅を決めます。
やり方はこちらのリンクを参考に。

【エクセル】セルの幅/高さをcm単位で指定する方法!正確な表が簡単に作れます | GetNavi web ゲットナビ

 

実際に白黒ノイズ画像を作る

ここから、実際にExcelの関数だけで白黒ノイズ画像を生成します。今回は8行×8列、白黒の比率は32対32の白黒ノイズ画像を作る前提です。基本的な作り方は画像を参考にしてください。

f:id:husbird:20210918170720p:plain

  • ①1セルに数字を1つずつ入れる
  • ②RAND()を使い、0~1の範囲で一様な乱数を生成する
  • ③RANK関数を使って並び替える
  • ④生成された乱数が全てバラバラかを確認
  • ⑤白黒ノイズ画像が完成する

①はそのままです。

②と③は、黒塗りするセルをランダムに選ぶための手順です。やり方の詳細はこちらの外部リンクをご参照ください。

生成された乱数にピッタリ同じ数字がないことを確認

RAND関数とRANK.EQ関数の特性上*2*3、黒塗りされるセルの数が、期待通りにならないケースもあります。

そこで乱数が一致していないことを確認するため、COUNTIF関数を使います。黒囲みされた領域の数値が、全て1であればOKです*4

実際に塗分けを実施する

実際に塗分けを行いたいセルの領域を決めます。このとき、今まで関数を入れてきたセルと行/列が干渉しないよう、写真のような配置にします。この領域は中に書かれている関数が見えないようセルのサイズを小さくします。


そこに、青点線で塗られた領域をコピペしてください*5

最後に、リボンからホーム→条件付き書式→セルの強調表示ルール→次の値より大きい(値は32.5)と選択してください。

そうすると1枚目の画像にあるような白黒ノイズ画像の完成です。あとはキーボード上のF9ボタンを押せば、無限に白黒ドット画像を作ることができます。

まとめ

今回は、Excel関数だけで白黒ノイズ画像を作る方法を解説しました。心理学実験用のマスク画像が欲しいときに活用ください。

Excelは心理学実験の準備、データ処理に便利なのでぜひ使い倒してくださいね。

*1:それっぽい画像をググって使うことはできますが、調べる時点でランダムとは言い難い

*2:RAND関数が生成した乱数がたまたま一致する可能性がある

*3:RANK.EQ関数で計算する元となる値が一致したときには、返す値が一致する。

*4:1以外の数字が出てきたときはキーボード上F9キーを押しましょう

*5:書式ごとコピーです