配列数式

750 views

Published on

Japanese version only

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
750
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

配列数式

  1. 1. 配列数式まるやま2013/05/101 / 7
  2. 2. こんなデータがあったとする-6-5-4-3-2-101234560 0.5 1 1.5 2 2.5 3resultcausality2 / 7
  3. 3. こんなデータがあったとする横軸が原因、縦軸が結果Excel 的に言うと、A1∼A400 セルに原因の値B1∼B400 セルに、対応する結果の値が入っているとする結果が正の値のデータは、原因と結果に相関がありそう!結果が負の値のデータは、まぁいいとして相関が有るのか無いのか調べるのは、相関係数!3 / 7
  4. 4. Excelで相関係数の計算Excel で相関係数の計算をするのは、簡単例えば C1 セルに以下を入力する=POWER(CORREL(A1:A400,B1:B400),2)このデータで実際に計算してみたら、0.41微妙な値…それもそのはずあまり相関の無さそうな、結果が負のデータも一緒に計算しているから恣意的かもしれないけど、結果が正のデータだけで、相関係数を計算したい結果が負のデータを消す?結果が正のデータを抜き出してコピー?めんどくさい…配列数式を使おう!4 / 7
  5. 5. 配列数式C2 セルに以下を入力する=POWER(CORREL(IF(B1:B400>0,A1:A400),IF(B1:B400>0,B1:B400)),2)入力した後に、Ctrl+Shift+Return を押す!すると上の式全体が {} で括られる手で {} を書いても、ダメこれ(IF の部分)が配列数式!この IF は、else 部分を省略した形厳密に書くと、IF(B1:B400>0,A1:A400,0) となるA1:A400 というセルの配列の中から、対応する B 列の値が正の値のみを抜き出して、配列の形で出力する、という意味入力した後に修正しようとして C2 セルをダブルクリックすると、配列数式が解除されてしまう修正した後に、もう一度 Ctrl+Shift+Return するこのデータで実際に計算してみると、0.82見事に相関がありそうな値になった!5 / 7
  6. 6. 複数の条件を組み合わせた配列数式結果の値が正、かつ、結果の値が2未満のものIF((B1:B400>0)*(B1:B400<2),A1:A400)結果の値が1未満、もしくは、結果の値が1より大きいものIF((B1:B400<-1)+(B1:B400>1),A1:A400)IF の条件式は、あくまで数式の形であること配列数式の場合は、AND, OR は使えないもちろん普通の IF 文は AND, OR が使えるけどAND の代わりに*, OR の代わりに+を使う6 / 7
  7. 7. 配列数式のExcel VBAマクロ先ほどの配列数式を Excel VBA マクロで書くと、以下になるRange(“C2”).FormulaArray = “=POWER(CORREL(IF(”& Range(“B1:B400”) & “>0,” & Range(“A1:A400”)& “),IF(”& Range(“B1:B400”) & “>0,” & Range(“B1:B400”)& “)),2)”なんか VBA で書いたほうが簡単だなぁちなみに、VBA マクロ以外、LibreOffice でも全く同じことが出来ます7 / 7

×