• 締切済み

Excel 平均値負の値を表示したい

下記B2~B5セルに、C~Eの平均時間を表示したいです。 1904年から計算するにはチェックが入っています。 マイナスデータは『'-0:**』と入力しています。 E3~G6セルの書式設定は、h:mm:ssです。 D3~D6セルの関数は『=(SUBSTITUTE(TEXT(SUMPRODUCT(SUBSTITUTE(TEXT(E10:U10,"[h]:mm")&"/60",":"," ")+0),"0!:00/60"),"/60",))/C10』が入っています。 以上、よろしくお願い致します。

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

もともと文字列が入ったセルの処理では数式が長くなることは避けられません。セルがE列からさらに右側に伸びた場合でも対応できる式として次のような式を考えました。ただし、マイナスの時刻となるセルは1行につき一カ所の場合です。 次の式をB1セルに入力し、下方にオートフィルドラッグします。 =IF(A1="","",(SUM(C1:E1)-IF(COUNTIF(C1:E1,"-*")=0,0,MID(INDEX(C1:E1,1,MATCH("-*",C1:E1,0)),2,10)))/A1) E列からさらに右になる場合にはE1をJ1などに変えます。

e05513
質問者

補足

ありがとうございます。 出来ました。 >マイナスの時刻となるセルは1行につき一カ所の場合です。 複数のマイナスが対象となったら良いのですが・・・ いろいろと考えて頂きありがとうございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

C列がマイナスでない場合でも問題がなく使える式を前回に示したのですが。ところで、C列ばかりでなくD列やE列でもマイナスの可能性があるのでしたら、次の式をB1セルに入力して下方にオートフィルドラッグすればよいでしょう。 =IF(A1="","",(IF(C1="",0,IF(ISNUMBER(C1),C1,-TIMEVALUE(MID(C1,2,4))))+IF(D1="",0,IF(ISNUMBER(D1),D1,-TIMEVALUE(MID(D1,2,10))))+IF(E1="",0,IF(ISNUMBER(E1),E1,-TIMEVALUE(MID(E1,2,10)))))/A1)

e05513
質問者

補足

ありがとうございます。 はい。C列だけでは無いです。列は増えていきます。 教えて頂いた式で出来ましたが、列が増える毎に追加しなければならないのと、B列の式が長くなってしまいます。 SUMのように範囲が指定出来る式には、どんな方法があるのか ご存知でしたら教えてください。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

C列でマイナスの時間を'を付けて入力している場合には文字列になっていますので直接計算には使うことができませんね。 B2セルには次の式を入力して下方にオートフィルドラッグしてはいかがでしょう。 =IF(A2="","",(D2+E2+IF(LEFT(C2,1)="-",-TIMEVALUE(MID(C2,2,10)),C2))/A2)

e05513
質問者

補足

ありがとうございます。出来ました。 でも、この式はC列がマイナスの時だけの式ですよね。 この先データが増え、マイナスがいろいろなセルに ある場合はどのような式にしたら良いのか教えてください。 よろしくお願い致します。

回答No.2

負の時刻を入力する時は、「'-h:m」じゃなくて「=0-"h;m"」として 下さい。そうすればちゃんと数値になって、普通にaverage関数が使 えます。

e05513
質問者

お礼

セルにマイナス時間を入力する時は、例えば『'-0:20』と直接に入力していました。それを『=0-"0:20"』と入力する方法で、B列の値が正確に表示されました。 以前『=0-"0:20"』と入力する方法も試してみたのですが、打つ文字数は増える為、他の方法を探していたら解らなくなってしまいました。 ありがとうございました。

  • goo39
  • ベストアンサー率36% (13/36)
回答No.1

一例です。 B2=IF(LEFT(C2,1)="-",SUM(D2:E2)-TIMEVALUE(RIGHT(C2,LEN(C2)-1)),SUM(C2:E2))/A2

e05513
質問者

補足

ありがとうございます。 しかし、B2セルにはマイナスが表示できませんでした。 どこが駄目なのでしょうか・・・・ (また、いろいろなセルにマイナスが発生します。)

関連するQ&A

  • エクセル2007で%の平均値を求めたいのですが、うまくできません。

    エクセル2007で%の平均値を求めたいのですが、うまくできません。 先日下記の様な質問をさせて頂いたのですが、もう少し質問したいことがあったのに間違えて解決済にしてしまいました。 どなたか分かる方がいらっしゃいましたら教えてください。    A    B    C    D    E    F    G     H 1 目標  6.44%  4.50%  3.77%  5.15%  2.66%  2.79%  式を入れたいセル 2 実績  5.07%  6.00%  4.85%                 A2~G2の平均値 A1~G1は、=(F3/G6)みたいな数式が入っていて、%で表示されています。 B2~G2は、最初は空欄で毎月B、C、D、E、Fと一つずつ%が入っていきます。 上記で、H1のセルに、下記の様な結果を表示できる式を入れたいのですが、何かいい方法はないでしょうか? ・B2~G2が空白の時はB1~G1の平均値 ・B2にだけ数字が入っていてC2~G2が空白の時はB1の数字 ・B2~C2に数字が入っていてD2~G2が空白の時はB1~C1の平均値 ・B2~D2に数字が入っていてE2~G2が空白の時はB1~D1の平均値 ・B2~E2に数字が入っていてF2~G2が空白の時はB1~E1の平均値 ・B2~F2に数字が入っていてG2だけが空白の時はB1~F1の平均値 ・B2~G2全てに数字が入っている時はB1~G1の平均値 という質問に対して、 [H1]=AVERAGE(B1:INDEX(B1:G1,COUNT(B2:G2))) という式を教えて頂いたところ、うまくいきました。 半期分はこれでOKだったのですが、1年分だとHに半期の平均のセルが入るため、うまく表示できません。 ・B~Gが前期、Hが前期の平均 ・I~Nが後期、Oが後期の平均 さらに、Pに全期の平均を入れたい場合はどのようにしたらよいのでしょうか? [P1]=AVERAGE(B1:INDEX(B1:N1,COUNT(B2:G2,I2:N2))) にすると、Hのセルも入ってしまうため、後期に数字が入ると平均値の表示が1つずつずれてしまいます。 何回も申し訳ないのですが、どうぞよろしくお願いいたします。

  • エクセル2007で%の平均値を求めたいのですが、うまくできません。

    エクセル2007で%の平均値を求めたいのですが、うまくできません。 AVERAGEやIFをいろいろ組み合わせてみたのですが、どうしても分からないので教えてください。   A   B    C    D    E    F    G   H 1 目標  6.44%  4.50%  3.77%  5.15%  2.66%  2.79%  式を入れたいセル 2 実績  5.07%  6.00%  4.85%                 A2~G2の平均値 A1~G1は、=(F3/G6)みたいな数式が入っていて、%で表示されています。 B2~G2は、最初は空欄で毎月B、C、D、E、Fと一つずつ%が入っていきます。 上記で、H1のセルに、下記の様な結果を表示できる式を入れたいのですが、何かいい方法はないでしょうか? ・B2~G2が空白の時はB1~G1の平均値 ・B2にだけ数字が入っていてC2~G2が空白の時はB1の数字 ・B2~C2に数字が入っていてD2~G2が空白の時はB1~C1の平均値 ・B2~D2に数字が入っていてE2~G2が空白の時はB1~D1の平均値 ・B2~E2に数字が入っていてF2~G2が空白の時はB1~E1の平均値 ・B2~F2に数字が入っていてG2だけが空白の時はB1~F1の平均値 ・B2~G2全てに数字が入っている時はB1~G1の平均値 どうかよろしくお願いします。

  • Excel 2003のエクセル関数

    皆様にとっては非常に簡単なことだと思いますが、何卒ご回答お願いいたします。 F2/F3/F4の計算式は=E2-D2/=E3-D3/=E3-D3にしたところ以下のように表示されました。 セルの表示形式はユーザー定義 h:mmとしています。 C D E F 1   2013/10 2013/11 前月比 2 A  0:24  0:28 0:04 3 B 0:39 0:06 ####### 4 平均 0:47 0:31 ####### 負の時間は######と表示されるみたいですが、0:06は6秒、0:39は39秒を意味していますので、 F3には-0:33、F4には-0:16と表示するようにすることは可能でしょうか? つまらない質問してすみませんが、よろしくお願いします。

  • エクセルで並べ替えした値ごとにグループ分けしたい。

    はじめまして。エクセルでどのような式を入れていいのか悩んでいます。 下記のようなファイルで”列D”の値ごとに 数字又はアルファベットなどでグループ分けを”列C”にしたいと思っています。   A   B   C   D 1 日付  曜日 区分 基準値 2 4/1  水  ここ 50010001500 3 4/2  木  ここ 50010001500 4 4/3  金  ここ 100015002000 5 4/4  土  ここ 100015002000 6 4/5  日  ここ 50010001500   ・ 34 5/3  日  ここ 200030005000   ・ 184 9/30 水   ここ 50010001500 列Dを並べ替えて、C2セルには =SUMPRODUCT(1/COUNTIF(D$2:D2,D$2:D2)) C3セルには =SUMPRODUCT(1/COUNTIF(D$2:D3,D$2:D3)) …そのままC184セルには =SUMPRODUCT(1/COUNTIF(D$2:D184,D$2:D184)) といった数式を入れたところ、D列の値ごとに数字をふれました。 …小数点の付いたものですが…サイトを検索して利用してみたので、 あまりSUMPRODUCTを理解していません。 しかしながら、重くなりすぎて、しまいには固まってしまいます。 このシートが80枚ぐらい入れたファイルです。 最終的にはこのファイルの隣に、導いた列Cの値をVLOOKUPにて ”1”を”A”、”2”を”B”…と置き換えています。 何か良い方法がありましたら教えてください。 よろしくお願いいたします。

  • Excelの条件一致の平均の求め方。

    画像のような表があります。 B2とC2のセルと一致すると条件が一致した行が、条件付書式で色分けされるようになっています。 そこで、B2、C2と条件が一致している行だけの値段平均をE2に表示したいのですが、何か良い方法はないでしょうか。

  • エクセルの平均をちょとカスタマしたい

    A1、B1、C1、D1、E1に入ってる数字の平均をあるセルに入れたいのですが、 例えば、B1とD1に数字が入ってない場合は、残りのA1、C1、E1の平均を表示させる、のはどうすればいいのでしょうか? 以上、よろしくお願い申し上げます。

  • エクセルで05'30"と表示したい

    エクセル2007を利用してますが、セルに例えば0530と入力したら05'30"と表示されるようにしたいのですが可能でしょうか?セルの書式設定のユーザー定義でmm'ss"としたのですが上手くできませんでした。それとA1セル 03'00" A2セル 05'40"と入力されている場合にB2セルにA2-A1の分秒を引いた数字 02'40" を表示させたいのですがどのように入力すればよいでしょうか? 以上宜しくお願いいたします。

  • 値の抽出

    Excelでマクロを使って値の抽出をしたいのですが、自分ではうまくいきません。どうかお力をお貸し下さい。 A1セル:品番 A2セル:DDH0020 A3セル:DDH0030 A4セル:DDH0040 A5セル:DDH0050 … A30セル:DDH0150 B1セル:品名 B2セル:ゴウハン 13*20.0X 56X807 U B3セル:ゴウハン 13 20.0X 56X845 U B4セル:ゴウハン 13 20.0X 85X1257 U B5セル:ゴウハン 13 20.0X 56X1280 U … B30セル:ゴウハン 13*20.0X 232X1897 U このような形で30行目まであります。 この内のB列の数字部分(2行目であれば)、20と56と807を抜き出し C2セル:20,D2セル:56,E2セル:807 (3行目であれば) C3セル:20,D3セル:56,E3セル:845 (4行目であれば) C4セル:20,D4セル:85,E4セル:1257 と表示させたいのです。 ご面倒おかけしますが、どうかご回答をお願いします。

  • VBからExcelのセルの書式設定を変更する

    Excelのセルに  C2:2000/7/8 16:39:00  C3:2000/7/9 8:30:00 と入っています。 これをExcel上で「=C3-C2」とすれば「1900/1/0 15:51」となります。 これを[セルの書式設定]-[表示形式]-[ユーザ定義]-[[h]:mm:ss]とすると、 [15:51:00]とう結果が得られます。 これをVB上から、Excelのセルを操作して求めたいのですが、可能なのでしょうか?

  • エクセル2003関数

    非常に基本的なことで恐縮なのですが、以下について教えてください。 B16=3:27 C16=1:31 前月比としてD16のセルに=C16-B16と入れています。 今まではちゃんと-1:56と表示されていたのですが、########と表示されるようになってしまいました。 セルの書式設定かと思い、表示形式はユーザー定義 [h]:mmになっていることを確認しました。 ほかのセルも######と表示されている場合とちゃんと表示されている場合があり、比較すると-(マイナス)の場合に######と表示されているようです。 何が原因でこのようなことになってしまったのでしょうか?解決方法を何卒宜しくお願いいたします。

専門家に質問してみよう