• 締切済み

エクセルのMEDIAN(中央値)関数について

データの集計作業を行っていて、0を含むデータベースから0を除いた1以上のデータの 中での中央値を求めたいと思っています。 中央値を求める関数(MEDIAN)などを使って、0を除いた1以上のデータの中での中央値 を求める算式があれば教えてください。 (具体例)          A列 1行目      0   2行目      1 3行目      2 4行目      3        A列1行目から4行目までのデータベースについて、0を除く1から3までの中央値(=2)を 求めれる算式を教えて下さい。       

みんなの回答

回答No.3

これは流石にCtrl+Shift+Enterを使わないとムリそうかな~。もっとも配列数式を使いたくない場合は、オートフィルタなどで0のレコード削除してからMEDIANを計算すればいいだけだけど。

noname#204879
noname#204879
回答No.2

{=MEDIAN(IF(A1:A4,A1:A4))} 配列数式

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

=MEDIAN(IF(A1:A4>0,A1:A4)) と記入し、必ずコントロールキーとシフトキーを押しながらEnterで入力します。

関連するQ&A

  • EXCEL2007 各行列にmedian関数でメディアンフィルタをかける

    EXCEL2007 各行列にmedian関数でメディアンフィルタをかけ違うシートに処理後の値を出力 今,A1から順に640×480の整数が.csvファイルで保存されています. 上記の行列にmedian関数を使用して3×3の中央値を求め,それを下記の画像のように中央のセルの値と中央値を置き換えます. この処理を640×480の行列に適用して(一列目と一行目は除く),画像処理にあるメディアンフィルタをかけようと思っています. ですがmedian関数を使用しても下記の画像のように中央値しかえられず,640×480のセルに適用するのには時間がかかりすぎます. そこで,上記の処理を行いかつ,処理後の640×480の中央値を別のシートに同じ配列で出力をしたいのですが,できるでしょうか? おそらくマクロやVBAを利用するのでしょうが,自分は今まで扱ったことがなく困っています. 一応本を買い,読んでみたのですが上記の処理はいろいろな機能が合わさっているため実行するにはどうしたらいいのかわかりません. どなたか,アドバイスまたは何をどのように使えば上記の処理ができるか教えてください. よろしくお願いします.

  • エクセルのデータベース関数を教えてください。

    エクセルのデータベース関数を教えてください。 自分で考える能力が無いものですみません(._.)。 テーマはゴルフのスコア分析とお考え下さい。1行目が各ホールのパーの数字、2行目がそれに対応するスコアが入っているというデータがあります。 Par---- 4 4 3 5 4 ・・・ Score-- 5 4 5 4 4 ・・・ このような感じです。 このデータで、Parが4のスコアだけを集計する方法が分かりません。 DSUMでは、列の見出しが無いのでうまく作動してくれません。どうも、行と列が逆のようです。1ラウンドのデータが2行に分かれていて、1行目がパー、2行目がスコアという形になっているので、このデータの行と列を入れ替えるという作業は避けたいのです。 エクセル関数初心者にご指導をよろしくお願いします。

  • Excel 中央値のIf関数について

    中央値の計算で、 3行目のセルで“月曜”と書かれているセルかつ、12行目にあるセルで空白箇所があった場合 (たとえばC12,K12,J12) その列上にあり7行目のセル(C7,K7,J7)の中央値を計算するという数式はどのようにしたら可能でしょうか。 =MEDIAN(IF(条件,中央値の範囲,"")と書いてあったので =MEDIAN(IF(3:3="月曜"and12:12="",7:7,"") としましたが、VALUE!と表示されてしまいます。 3行目には曜日を 7行目には宿泊客数を 12行目には“三連休”などメモを書いており、 特定の曜日で、メモが未記入の日の宿泊客数だけを中央値で出したいのですが、 上述のようにVALUE!だったり、 数式をいじっても、空白も記入箇所もまとめて全体の中央値が計算されてしまったりとうまくいきません。 今後も入力していくのでA12:Z12など特定のの範囲にしたくないので12:12など行全体を範囲としています。

  • エクセルの関数についてです

    大変恐縮ですが、エクセルの関数について教えていただきたいと思います。 例 A B C D 1 175 141 210 98 2 47 70 417 39 3 64 845 32 626 4 79 194 54 85 5 224 68 85 110 上記A列からD列の数字が1行目から5行目まで5セットあります。 その中でAはBより大きくCより小さい(B<A<C)なおかつBはAより小さく Dより大きい(A>B<D)。 と、この条件を両方満たしている行だけを抽出したいと考えております(例では1行目が該当します)。 手元に約6万行分のデータがあり、何とか関数で処理したいものの詳しく分からず困っています・・・。 お忙しいところ申し訳ございませんが、どなたか関数をご存じでしたら 教えてくださると幸いです。 よろしくお願い致します。

  • エクセル関数を使用したデータ集計について

    関数の質問です。 仕事でデータ集計をしており、 あるデータを他のシートに集計できる関数はありますでしょうか。 具体的には、 添付画像のような Aの表に、Bのデータを、Cのルールを 用いて、集計したいです。 Vlookupとsumifsを用いろうとしましたが、うまくいきませんでした。 B-2のデータをvlookにして、 sumifsの式のデータ範囲の中にいれましたが、うまくできません。 補足 B-2の列をvlookで他の列に集計せずに、関数のみでBのシートからいきなりAの集計表に集計したいです。 (理由は、数字をあちこちに貼り付けると、その照合をしなくてはならないため、あちこちには貼りたくないのです) 関数は一つのセルの中に複数組み合わせるのは、もちろん問題ありません。 よろしくお願いいたします。

  • Excel 関数 教えてください

      A列(製品番号) B列(年月日) C列(ランク) 1行 1085-003 2004/03/01 - 2行 1085-003 2004/03/01 1 3行 1085-003 2004/03/01 1 4行 3600-421 2004/03/01 1 5行 1085-003 2004/03/01 1 6行 1085-003 2004/03/01 2 7行 1085-003 2004/03/01 2 8行 1085-001 2004/03/01 1 9行 2777-111 2004/03/04 1 上記のような表が、実際は行が膨大にあるとします。 このなかで、B列(年月日)別に、C列 3ランク別(-,1,2)の集計をしたいと思います。(ランクの個数の集計) ただし、A列(製品番号)には、同じ番号が複数ダブっています。 どんなにダブりがあっても同じ年月日のものは、それは一つとカウントしたいのです。 <例> 2004/03/01 -ランク → <答> 1 2004/03/01 1ランク → <答> 3 2004/03/01 2ランク → <答> 1 2004/03/04 1ランク → <答> 1 いろいろなやり方があるかと思いますが、ピポットは使ったことがないので、関数式のほうがまだわかるかも。 未熟者なので、シンプルであればあるほどありがたいです。また、組んだ式の意味も教えていただければ感謝です。 過去の質問もみましたが、なかなか答えが出せなかったもので、どなたか、よろしくお願いします。

  • エクセル 条件によってデータ入力 関数

    エクセルで、関数を利用してデータ集計をしたいと考えています。 A列の数値が  (1)100以下だったら 「1」 (2)101~150だったら 「2」 (3)151以上だったら 「3」 と別列Bに表記する というイメージで関数を組みたいと考えています。 この例の場合だと、A列の値に応じてB列に1/2/3のいずれかの値が入力されるイメージです。 どう関数をつくればいいかわからず困っています。 よろしくお願いします。

  • エクセル関数

    次のような場合の関数をご教示頂けないでしょうか? ・A列には、時々連続する通し番号が入っています。 例 1 2 3 4 4 4 5 6 7 7 7 7 7 8 ・B列には、A列が1個の数字の行には 0 が、複数の数字の行には 1 が入っています。 例 0 0 0 1 1 1 0 0 1 1 1 1 1 0 ・C列に、関数で次のように自動入力したいのです。  B列が 0 なら 0  B列が 1 のグループの先頭行には 1  B列が 1 のグループの途中の行には 2  B列が 1 のグループの最後の行には 3 例 0 0 0 1 2 3 0 0 1 2 2 2 3 0 どういう関数になりますでしょうか? よろしくお願い致します。

  • エクセルでの集計

    A列に下記のようなデータが千件くらい入っています。 例:C-100/50/5/5   A-200/100/50/5   B-100/100/10/10   C-100/50/5/5   A-200/100/50/5   D-300/50/50       ・       ・ かなり重複もあります。 C列にA列のデータを以下の様に集計したいと思います。 例:A-200/100/50/5   B-100/100/10/10   C-100/50/5/5   D-300/50/50      ・      ・ 重複している場合は1行とし抜き出し、順番に集計したいのですが、 マクロか関数でする場合、どのような記述になるのでしょうか? よろしくお願いします。

  • エクセルの関数について教えてください

    パソコンは初心者です。 仕事でデータベースを作っているのですが、関数の使い方がわかりません。 A列に日付、B列に担当者名、C列には日付や文字データを入力しています。 D,E,F,G,H,I,J列などにもデータを入力してあります。 A列とC列でデータの合致しない行を抜き取って別の表に作り変えたいのですが、どんな方法が使いやすいですか? 関数を利用するのがよさそうな気はするのですが、マニュアル本など見ても、ぴったりの内容が見つかりません。 よろしくお願いします!

専門家に質問してみよう