人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

◎表計算ソフトの関数で、ある集合を指定するには、別セルに書き出すしかない?
●Excelなどの関数で条件で抽出した集合を扱う場合。
別のセルに、その集合を抜き出すしかないのでしょうか?

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

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

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

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

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

●質問者: momopopohate
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● a-kuma3
ベストアンサー

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 のセルにカーソルを合わせてみると、入力した式が中括弧で囲まれているのが分かると思います。
この中括弧が「配列数式として扱っている」という目印になってます。


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


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

2 ● Lhankor_Mhy

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

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

という数式を入力して、Ctrl + Shift + Enter で確定してみてください。



参考
日経PC21 / 初めての「配列数式」① 1行おきの実績値を一気に合計


momopopohateさんのコメント
参考サイトで色々勉強したいと思います。 回答ありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ