- ベストアンサー
エクセルの計算式について
- エクセルの計算で教えて下さい。以下のようなデータがあります。このデータの左側は30分ごとの時間帯です。先ず、9:00から10:00までの時間帯で、BとCの数値からBの最大値とCの最小値を求めます。(この場合だとBは14640.Cが14525です)それから、10:30から15:00までの時間帯で、Bの最大値を上回ったかどうか、そして、その時Bの最大値をどれだけ上回ったか。同様に、10:30から15:00までの時間帯で、Cの最小値を下回ったかどうか、そして、その時Cの最小値をどれだけ下回ったか。以下のようなデータが6年分あります。何か適切な計算式を教えて下さい。
- エクセルの計算式について教えてください。データは時刻とそれに対応するA、B、C、Dの値があります。まず、9:00から10:00までの時間帯で、BとCの数値からBの最大値とCの最小値を求めます。その後、10:30から15:00までの時間帯で、Bの最大値を上回るかどうかと、上回った場合にどれだけ上回ったかを求めます。同様に、Cの最小値を下回ったかどうかと、下回った場合にどれだけ下回ったかを求めます。データは6年分ありますので、適切な計算式を教えてください。
- エクセルの計算式について教えてください。データは時刻とA、B、C、Dの値があります。まず、9:00から10:00までの時間帯で、BとCの数値からBの最大値とCの最小値を求めます。その後、10:30から15:00までの時間帯で、Bの最大値を上回った場合にどれだけ上回ったかを求めます。また、Cの最小値を下回った場合にどれだけ下回ったかも求めます。データは6年分ありますので、適切な計算式を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ん? >目視で行を確認しながらコピペしなくてはならないのでしょうか? あなたが一体全体どんな具合に「6年分」のデータを持っているのか、結果も一体どんな具合に並べたいのか、全く何一つ情報提供が無い手抜きのご相談に、どうしたら出来ますよとかお話しできるはずもありません。それは判りますよね? #このジャンルでご相談を投稿をされる方々は、どうして皆さん揃ってこうも前のめりなのかなと常々興味深いです。 言われて説明するのも(待つのも)メンドクサイでしょうから、次の通りにしてください。 手順: 添付図のようにデータを並べます。 下記の通りに数式を1セット並べます。 H2 =A2 I3 =MAX(D2:D4) J4 =MIN(E2:E4) K5 =MAX(D5:D12) L6 =MIN(E5:E12) M7 =MAX(D5:D12)-I3 N9 =J4-MIN(E5:E12) M列、N列には回答した通りに書式を施しておきます。 出来たら、添付図の通り「H2:N12」を選択、下向けにえいやーーっとリスト下端までオートフィルドラッグします 数式をコピーしたら、続いて次の通り操作します H:N列を列選択する Ctrl+Gを押す 現れたダイアログでセル選択をクリックする 現れたダイアログで空白セルにマークする 空白セルが飛び飛びに選択されるので、 飛び飛びの選択状態を崩さないよう注意しながら右クリックして「削除」を開始、上に詰めて完成。
その他の回答 (4)
- KURUMITO
- ベストアンサー率42% (1835/4283)
A列のA2セルから下方に時刻が入力されており、B、C,D列でも2行目からデータが下方に入力されているとします。 6年分のデータが下方に入力されているとします。 E列は作業列としてE2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2<>"9:00"*1,"",MAX(E$1:E1)+1) F1セルにはB列関連、G1セルにはC列関連などと入力します。 F2セルには次の式を入力してG2セルまでドラッグコピーそたのちに下方にもドラッグコピーします。 =IF($A2="9:00"*1,IF(COLUMN(A1)=1,MAX(INDEX($B:$B,ROW()):INDEX($B:$B,ROW()+2)),MIN(INDEX($C:$C,ROW()):INDEX($C:$C,ROW()+2))),IF(AND($A2>="9:30"*1,$A2<="10:00"*1),"",IF(AND($A2>="10:30"*1,$A2<="15:00"*1),B2-INDEX(F$1:F1,MATCH(10^10,$E$1:$E1)),""))) これによって9:00の行にはF列では9:00から10:00までのB列での最大値が、G列では9:00から10:00までのC列での最小値が表示されます。 また、10:30から15:00までの行ではF列ではB列での最大値との差でプラスが多い数値が最大値を上回った値となります。 G列ではC列での最小値との差がマイナスの値が多い数値が最小値を下回った値となります。
お礼
ありがとうございます。 仮定して頂いている事は大体その通りです。時刻は実際にはB列です。これから試してみます。 ありがとうごxざいます。
- keithin
- ベストアンサー率66% (5278/7941)
話を簡単にするため、添付図のように 9時から10時までのBの最大をH2セルに =MAX(C2:C4) 9時から10時までのCの最小をH3セルに =MIN(D2:D4) のように調べておきます 10時半から15時まで、同様に H5セル =MAX(C5:C12) H6セル =MIN(D5:D12) のように調べておきます 上回った(下回った)のか、どれだけ上(下)回ったのかを見るため、 H8には =H5-H2 H9には =H3-H6 と数式を記入します 更に、H8:H9を右クリックしてセルの書式設定の表示形式でユーザー定義を選び #,##0;"NA" と設定しておきます。 >6年分 上述の方法をベースに「あなたが実際に計算したいこと」をまず1セット作成し、それをつらつらっとコピー貼り付けて展開すれば簡単に出来ます。
お礼
ありがとうございます。 しかし、この方法で6年分を計算するには目視で行を確認しながらコピペしなくてはならないのでしょうか?
「最大値を上回ったかどうか」はB列のみ、「最小値を下回ったかどうか」はC列のみを考えるの? A列やD列のデータは どうする どうする? 上(下)回ったかどうか、そして、どれだけ上(下)回ったか、何処にどのように表示させたいの?
- kamikami30
- ベストアンサー率24% (812/3335)
データがあるのはわかりましたが、 何をしたいのかよくわかりませんでした。
お礼
ありがとうございます。 辛口のコメントも勉強にさせて頂きます。 上手く行きそうです。