◎表計算ソフトの関数で、ある集合を指定するには、別セルに書き出すしかない?

●Excelなどの関数で条件で抽出した集合を扱う場合。
別のセルに、その集合を抜き出すしかないのでしょうか?

●経緯
家計簿の集計をしています。「おやつ」項目から頻出する出費額を知りたいと思いMode関数を使おうとしたのですが、一つのセル内で思った通りの関数がなかなか出来ません。(結局、並び替え機能を使って問題は解決しました。)

なぜ一つのセルで、思った通りにモード関数が使えないのかと考えたとき、

ある条件で抽出した集合を、別のセルに書き出さない限り関数内で取り扱えないからだと気がつきました。
以前から表計算ソフトでなんか、不便だと思ってたところは、だいたいこれが原因のようです。
で、本当にこれはできないのでしょうか?それとも、私のテクニック不足?

私は普段マクロも使わない初心者です。

VBAなど難しい機能は使えないので、できれば関数だけで事を処理したいと思っているのですが。

回答の条件
  • 1人10回まで
  • 13歳以上
  • 登録:2014/02/11 13:20:14
  • 終了:2014/02/12 02:41:50

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4367ベストアンサー獲得回数18032014/02/11 16:01:51

Excel の場合、「配列数式」というものを使うとできたりします。

ちょっと試してみましたので、まずはシートを見てください。
f:id:a-kuma3:20140211155107p:image

D2 が、普通に Mode 関数を使った場合。
D3 は、配列数式を使って、Mode 関数に「おやつ」の行だけを指定した場合です。
「おやつ」のデータは以下のような感じ。

おやつ: 100,100,200,100,100,200


まず、D3 のセルに、以下のように入力します。

=mode(if(a1:a20="おやつ",b1:b20,""))

普通なら Enter キーを押すところですが、Shift キーと Ctrl キーを押しながら Enter キーを押してください。
D3 のセルにカーソルを合わせてみると、入力した式が中括弧で囲まれているのが分かると思います。
この中括弧が「配列数式として扱っている」という目印になってます。


配列数式は知っていると便利な場面もあるのですけれど、ちょっと上級編な感じ。
ぼくも決まった場面でしか使えなかったりします (^^;

id:momopopohate

おおっ出来ました!これは凄い。
iPhoneのNumbersで試したところ、残念ながらできず。やはりExcelは必須。

2014/02/12 02:43:19

その他の回答(1件)

id:a-kuma3 No.1

a-kuma3回答回数4367ベストアンサー獲得回数18032014/02/11 16:01:51ここでベストアンサー

Excel の場合、「配列数式」というものを使うとできたりします。

ちょっと試してみましたので、まずはシートを見てください。
f:id:a-kuma3:20140211155107p:image

D2 が、普通に Mode 関数を使った場合。
D3 は、配列数式を使って、Mode 関数に「おやつ」の行だけを指定した場合です。
「おやつ」のデータは以下のような感じ。

おやつ: 100,100,200,100,100,200


まず、D3 のセルに、以下のように入力します。

=mode(if(a1:a20="おやつ",b1:b20,""))

普通なら Enter キーを押すところですが、Shift キーと Ctrl キーを押しながら Enter キーを押してください。
D3 のセルにカーソルを合わせてみると、入力した式が中括弧で囲まれているのが分かると思います。
この中括弧が「配列数式として扱っている」という目印になってます。


配列数式は知っていると便利な場面もあるのですけれど、ちょっと上級編な感じ。
ぼくも決まった場面でしか使えなかったりします (^^;

id:momopopohate

おおっ出来ました!これは凄い。
iPhoneのNumbersで試したところ、残念ながらできず。やはりExcelは必須。

2014/02/12 02:43:19
id:Lhankor_Mhy No.2

Lhankor_Mhy回答回数775ベストアンサー獲得回数2302014/02/11 17:06:03

たとえば、A列に科目、B列に金額が入っている時に最頻値を求めるには

=MODE(IF(A1:A100="おやつ",B1:B100,""))

という数式を入力して、Ctrl + Shift + Enter で確定してみてください。
 
 
 
参考
日経PC21 / 初めての「配列数式」① 1行おきの実績値を一気に合計

id:momopopohate

参考サイトで色々勉強したいと思います。
回答ありがとうございました。

2014/02/12 02:44:10

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません