- ベストアンサー
エクセルで困ってます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 添付画像をご覧ください。 潰れて読めないですが…。 例えば、 C1:=IF(MOD($A1,4/24)=0,$B1,"") C2:=IF(MOD($A2,4/24)<MOD($A1,4/24),$B2,"") C3以下:C2の式をコピペ とかでは。
その他の回答 (2)
- MackyNo1
- ベストアンサー率53% (1521/2850)
>このA欄から0:00、4:00,8:00,12:00,16:00,20:00の時間を抽出し、その横のB欄の数字をC欄に記入させたいです。もし0:00、4:00,8:00,12:00,16:00,20:00のどれかがなかった場合、そのすぐ下の時間を抽出して、B欄の数字をC欄へ記入したいです。 質問の意味がいまひとつわかりません。 まずA列はっどのような時刻からスタートしているのでしょうか? 0:00の時間とありますが、0:00から始まるなら一番上のセルということになるのでしょうか? またA列の時刻?から4:00など4時間ごとの時刻を「抽出」してとは具体的にどのようにしたいのでしょうか? 単純に4:00から4時間ごとの該当時間と対応するB列の値を抽出するなら、以下のような数式になります。 右方向に1つ下方向に5つオートフィルしてください。 =INDEX(A:A,MATCH(ROW(1:1)*4/24-10^-10,$A:$A,1)+1) もし、A列に入力されているデータが0:00から24:00の間の時間(時刻)ではない場合は具体的に入力されている数値(日付と時間など)を例示してください。
お礼
ご回答ありがとうございます。 何とか皆様のお力を借りて解決することができました。 またちょくちょく質問させていただくと思うので、その時はよろしくお願いします。
- kagakusuki
- ベストアンサー率51% (2610/5101)
>もし0:00、4:00,8:00,12:00,16:00,20:00のどれかがなかった場合、そのすぐ下の時間を抽出して、B欄の数字をC欄へ記入したいです。よろしくお願いします。 その条件ですと、例えばA1セルに10:00と入力サリーれていた場合には、 0:00のすぐ下の時間は10:00になりますから、C1セルにはB1セルと同じ値を表示し、 4:00のすぐ下の時間は10:00になりますから、C2セルにもB1セルと同じ値を表示し、 8:00のすぐ下の時間は10:00になりますから、C3セルにもB1セルと同じ値を表示 しなければならないという事になりますが、本当にそれで宜しいのでしょうか? それとも、例えばA1セルに10:00と入力サリーれていた場合には、 8:00のすぐ下の時間である10:00の時の値をC1セルに表示させる事からから始めて、 C2セルには12:00の時の値を、 C3セルには16:00の時の値を、 C4セルには20:00の時の値を それぞれ表示させた方が宜しいのでしょうか? 取り敢えず、後者のパターンで表示する方法に関して回答させて頂きます。 まず、C1セルに次の関数を入力して下さい。 =IF(AND(ISNUMBER($A$1),$A$1>=0),IF(COUNTIF($A:$A,">="&FLOOR(TEXT($A$1,"[h]"),4)+(ROW()-ROW(C$1))*4&":0"),IF(COUNTIFS($A:$A,">="&FLOOR(TEXT($A$1,"[h]"),4)+(ROW()-ROW(C$1))*4&":0",$A:$A,"<"&FLOOR(TEXT($A$1,"[h]"),4)+ROWS(C$1:C1)*4&":0"),VLOOKUP(LARGE($A:$A,COUNTIF($A:$A,">="&FLOOR(TEXT($A$1,"[h]"),4)+(ROW()-ROW(C$1))*4&":0")),$A:$B,2,FALSE),"-"),""),"") そして、C1セルをコピーして、C2~C6のセル範囲に貼り付けて下さい。
お礼
ご回答ありがとうございます。 何とか皆様のお力を借りて解決することができました。 またちょくちょく質問させていただくと思うので、その時はよろしくお願いします。
お礼
neko_quatreさん、ご回答ありがとうございます。 この数式は自分の力では作れなかったです。1週間程悩んでいました。 また、ちょくちょく質問させて頂きますので、その時はよろしくお願いします。 本当にありがとうございました。今回のベストアンサーです。