• 締切済み

エクセルに関して質問させて頂きます。

エクセルに関して質問させて頂きます。 シートA A    B(日付がA列、○×がB列の意味) 1 1月1日○ 2 1月5日○ 3 1月6日× 4 1月8日× 5 1月12日× 6 1月15日○ 7 1月18日× 8 1月20日× 9 1月23日○ 10 1月25日○ シートB(配列はシートAと同様) 1月4日○ 1月5日× 1月6日× 1月11日○ 1月16日○ 1月17日○ 1月18日× 1月20日× 1月22日× 1月27日○ シートCのあるマスにシートA、Bを足した×の最大連続数を表示させるにはどうしたらいいでしょうか? わかる方がいらっしゃいましたら、どうか力をお貸しください。 この表ですと、×の最大連続数はシートAの1月18日、1月20日とシートBの1月18日、1月20日、1月22を足して5になります。 説明に至らない点があるかもしれません。そのときはご指摘頂けると有難いです。

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.18

>セルb1に教えて頂いた数式を入力したら、#NAMEと出ました。  申し訳御座いません、、ANo:12の数式を基にして、一部変更した処、また「E」を入れ忘れてしまいました。 [誤] =IF($D1="L",FLOOR($C1,1/1440)+SUMPRODUCT((FLOOR(VALU("0"&$C$1:$C1),1/1440)=FLOOR($C1,1/1440))*1)/SUMPRODUCT((FLOOR(VALU("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))),1/1440)=FLOOR($C1,1/1440))*1440),"") [正] =IF($D1="L",FLOOR($C1,1/1440)+SUMPRODUCT((FLOOR(VALUE("0"&$C$1:$C1),1/1440)=FLOOR($C1,1/1440))*1)/SUMPRODUCT((FLOOR(VALUE("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))),1/1440)=FLOOR($C1,1/1440))*1440),"") >どこに時刻を入力したらよいのでしょうか?  日付けを入力していたセルに、例えば 2010/11/20 22:01 という様に、日付けと時刻を共に入力して下さい。

b97byovro
質問者

お礼

ありがとうございます。 B1のセルに入力する数式は直りました。言い忘れていたことがあります。 F2に入力する数式も同じように#NAME?とでます。 どうしたらいいでしょうか? よろしくお願いします。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.17

 3枚以上のシートのデータを分単位(1分未満は切り捨て)で記録した時刻順に並べた場合における最大連続L数を求める方法です。  まず、ANo:12の数式を基にして、適時「○」を「W」、「×」を「L」に置換して下さい。  次に、作業用シートのB1セルに入力する数式を次の様に変更してから、作業用シートのB1セルをコピーして、同じ列の数式が存在している全てのセルに、貼り付けて下さい。 =IF($D1="L",FLOOR($C1,1/1440)+SUMPRODUCT((FLOOR(VALU("0"&$C$1:$C1),1/1440)=FLOOR($C1,1/1440))*1)/SUMPRODUCT((FLOOR(VALU("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))),1/1440)=FLOOR($C1,1/1440))*1440),"")  次に、作業用シートのF2セルに入力する数式を次の様に変更してから、F2セルをコピーして、同じ列の数式が存在している全てのセルに、貼り付けて下さい。 =IF($E2="","",IF(SUMPRODUCT((FLOOR(VALU("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))),1/1440)<=FLOOR($E2,1/1440))*(FLOOR(VALU("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))),1/1440)>=FLOOR($E1,1/1440))*(OFFSET($D$1,,,MATCH(99^9,$C:$C))="W"))>0,1,F1+1))  以上です。  尚、時刻の記録を1秒単位にする場合には、上記の数式中の 1440 となっている部分を 86400 に変更して下さい。  0.01秒単位にする場合には、同様に 8640000 に変更して下さい。  1時間単位にする場合には、同様に 24 に変更して下さい。  任意の数をnとおいて、時刻の記録を、1日(=24時間)のn分の1の時間を単位にする場合には、同様にnに変更して下さい。

b97byovro
質問者

お礼

セルb1に教えて頂いた数式を入力したら、#NAMEと出ました。 あと、言い忘れていたことがあります。時間を入力するセルを指定していなかったのですが、どこに時刻を入力したらよいのでしょうか?

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.16

>同日に○と×が複数存在するとき、時間の早い順から遅い順で区別することはできますでしょうか?  もし、同じ時刻に○と×が複数存在する場合には、どの様にカウントさせれば良いのでしょうか?  又、分単位で同じ時刻、例えば、2010年11月13日23時42分21秒と2010年11月13日23時42分41秒は、同じ時刻として扱うのでしょうか?  それとも、同じ時刻として扱うのは、秒単位で同じ時刻、例えば、2010年11月13日23時42分21.34秒と2010年11月13日23時42分21.87秒ならば、同じ時刻として扱うのでしょうか?  それとも、0.1秒単位?、それとも、0.01秒単位?  質問者様が御使いのパソコンに入力される時刻データにも精度の限界があるでしょうから、無限に精度をあげて、極めて僅かな差で、前後を決めるという訳には行かないと思います。  ですから、時刻のデータの最小単位を、どの程度にするすれば良いのかを、御教え頂けなければ、数式を作成出来ません。  それから、時刻の最小単位未満の端数の処理は、どの様にされたいのでしょうか?  例えば、0.1秒単位で時刻データを扱う場合において、2010年11月13日23時42分21.87は、0.01秒以下の桁を切り捨てて2010年11月13日23時42分21.8秒とするのでしょうか、それとも0.01秒以下の桁を切り上げて2010年11月13日23時42分21.9秒とするのでしょうか、それとも0.01秒の桁を四捨五入して2010年11月13日23時42分21.9秒とするのでしょうか?  以上の点に関して、補足願います。

b97byovro
質問者

お礼

ボクの抱く疑問に対し、真摯な姿勢で取り組んで頂きありがとうございます。 ●1分単位でお願いします。 ●秒以下はいりません。もし秒を切り離せない場合は、切捨ててください。 例  1時1分1秒→1時1分 例 1時1分1秒も1時1分30秒も同じ1時1分として扱ってください。 ●小数点以下を切り離せない場合は、小数点以下を切り捨ててください。 例 1時1分1.11だとした場合、1時1分1.00にしてください。 1時1分1.11(小数点以下を切り捨て)    ↓ 1時1分1.00(秒単位を切り捨て)    ↓ 1時1分 このような流れです。 ●同じ日付のまったく同じ時刻に○と×があった場合は、○としてカウントしてください。このとき同時刻に×が2個以上あったとしても○が1個でもあれば、○としてカウントしてください まったく同じ時刻というのは、秒を切り捨てた後の時刻のことです。 例、同じ日付の場合 シートA 1時1分○ 1時2分× 1時3分× シートB 1時1分○ 1時2分× 1時3分× シートC 1時1分○ 1時2分○ 1時3分× この場合、×の最大連続数は3になります。 ●あと○をW、×をLにして頂けると有難いです。 WとLはひらがな打ち時のではなく、アルファベットの方です。 補足し忘れていることがあるかもしれません。そのときはご指摘頂けると有難いです。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.15

>B列の日付が若い順に並んでいません。  各Sheetの日付の進み方と行番号の関係は、Sheetによって異なっていますから、各Sheetの日付を行番号順に並べたC列や、C列のデータを抽出したB列が、日付順には並んでいない可能性が高いのは当然で、そのためにB列に現れた日付をE列で並べ換えているのですが、その事の何が問題なのでしょうか。 >あとD列の×の最大連続数を手計算した場合と、=MAX(作業用シート!$F:$F)に表示される数が同じになりません。  どの様なデータを入れた際に、手計算では幾つになり、表示値が幾つになったのかが、記されて居ないため、原因を特定する事は困難ですが、もしかしますと、私は、同じ日に○と×が両方ある日には、×だけが存在しているわけではない(次の日から見た場合、前日に○がある)ため、カウントをリセットする様に数式を組んでいたのですが、その事が影響しているのかも知れません。  御質問文には明言されて居ないため、明確には判りませんが、同じ日に○と×が両方ある日もカウントを連続させた方が宜しかったのでしょうか?  もしそうであれば、作業用シートのF2セルに、入力する数式中の「>=」や「<=」の部分から「=」を削除して、 =IF($E2="","",IF(SUMPRODUCT((INT(VALU("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))<INT($E2))*(INT(VALU("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))>INT($E1))*(OFFSET($D$1,,,MATCH(99^9,$C:$C))="○"))>0,1,F1+1)) と変更してから、セルをコピーして、同じ列の3行目以下に貼り付けて下さい。

b97byovro
質問者

お礼

申し訳ありません。ボクは勘違いをしていました。 手計算とF列の数値が一致していました。あとB列の日付をE列で正しく並べ替えしていたとは知りませんでした。 同じ日に○、×があるときの×はカウントをしません。今の数式のままで要望通りです。 ところで、また疑問に思ったことがあります。この疑問を解決するためにお力を貸してください 今の数式は、同じ日に○と×があると、その日の×はカウントに含めないようになっています。 この同日に○と×が複数存在するとき、時間の早い順から遅い順で区別することはできますでしょうか? 一番早い、午前0時0分  一番遅い、午後23時59分 例 シートA 1月1日○ 1月2日× 午後5時10分 1月3日× 1月4日○午前2時10分 シートB 1月1日○ 1月2日○ 午後4時10分 1月2日× 午後6時10分 1月3日× 午前0時10分 1月4日×午前1時10分 今までの数式ですと、×の最大連続数は2になります。 これを×の最大連続数を5と表示させるにはどうしたらいいのでしょうか。 説明に至らない点があるかもしれません。その場合はご指摘いただけると有難いです。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.14

>今度はF3以降、#N/Aと出ます。  重ね々々申し訳御座いません、私のコピーミスです。 F2セルの数式 [誤] =IF($E2="","",IF(SUMPRODUCT((INT(VALU("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))<=INT($E2))*(INT(VALU("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))>=INT($E1))*(OFFSET($D$1,,,MATCH(99^9,$C:$C))="○"))>0,1,F1+1)) [誤] =IF($E2="","",IF(SUMPRODUCT((INT(VALUE("0"&$C$1:$C1))<=INT($E2))*(INT(VALUE("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))>=INT($E1))*(OFFSET($D$1,,,MATCH(99^9,$C:$C))="○"))>0,1,F1+1)) [正] =IF($E2="","",IF(SUMPRODUCT((INT(VALUE("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))<=INT($E2))*(INT(VALUE("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))>=INT($E1))*(OFFSET($D$1,,,MATCH(99^9,$C:$C))="○"))>0,1,F1+1))

b97byovro
質問者

お礼

F列はうまくいきました。ありがとうございます。 B列の日付が若い順に並んでいません。若い順というのは1月1日(若い)から12月31日に向かって並んでいないという意味です。 2005/1/5 2005/1/13 2005/1/15 2005/1/6 2005/1/20 2005/1/21 2005/1/9 2005/2/25 2005/2/15 2005/3/8 2005/2/9 2005/3/17 2005/2/13 2005/3/18 2005/4/27 2005/2/16 2005/5/4 これは実際のデータです。手計算とは違った結果になります。 あとD列の×の最大連続数を手計算した場合と、=MAX(作業用シート!$F:$F)に表示される数が同じになりません。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.13

>B列全てに#NAME?と表示されます。  申し訳御座いません、「E」が抜けておりました。 B1セルの数式 [誤] =IF($D1="×",INT($C1)+SUMPRODUCT((INT(VALU("0"&$C$1:$C1))=INT($C1))*1)/SUMPRODUCT((INT(VALU("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))=INT($C1))*1),"") [正] =IF($D1="×",INT($C1)+SUMPRODUCT((INT(VALUE("0"&$C$1:$C1))=INT($C1))*1)/SUMPRODUCT((INT(VALUE("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))=INT($C1))*1),"") F2セルの数式 [誤] =IF($E2="","",IF(SUMPRODUCT((INT(VALU("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))<=INT($E2))*(INT(VALU("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))>=INT($E1))*(OFFSET($D$1,,,MATCH(99^9,$C:$C))="○"))>0,1,F1+1)) [正] =IF($E2="","",IF(SUMPRODUCT((INT(VALUE("0"&$C$1:$C1))<=INT($E2))*(INT(VALUE("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))>=INT($E1))*(OFFSET($D$1,,,MATCH(99^9,$C:$C))="○"))>0,1,F1+1)) >シート名に「” ”」をつけるということでしょうか?  他のシートをコピーして作成したシートの中には、数式中で当該シートのセル参照を行うと、シート名が 'Sheet1 (2)'! という具合に、「'」で囲まれるシートがあります。  その様な、シートのシート名をA列に入力する際には、セルに Sheet1 (2) と入力するのではなく、 ="'Sheet1 (2)'" と入力して下さい、という意味です。

b97byovro
質問者

お礼

今度はF3以降、#N/Aと出ます。 よろしくお願いします。 かなり長いやり取りになってしまい、申し訳ありません。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.12

>今回の質問ではシートAとシートB、2つ同時の検証でした。このシートを増やす方法を教えて頂けないでしょうか。  今仮に、作業用シートのシート名を 作業用シート とします。  まず、作業用シートのA列に、 A1セル  シートA A2セル  シートB A3セル  シートC  ・    ・  ・    ・  ・    ・ という具合に、元リストが存在しているシートの名称を、入力して下さい。  この時、Sheet1 (2)の様に、セル参照をすると、 'Sheet1 (2)'! という具合に、シート名が「'」で囲まれるシートの、シート名を入力する際には、次の様な形式で、数式を使って入力して下さい。 ="'Sheet1 (2)'"  又、シート名を並べる順序は特に気にされなくても結構ですが、同じ名称を重複して入力する事はしないで下さい。  次に、作業用シートのC1セルに、次の数式を入力して下さい。 =IF(ISERROR(INDIRECT(INDEX($A:$A,MOD(INT(ROW()-0.5),MATCH("/",$A:$A,-1))+1)&"!IV65536")),"",IF(ISNUMBER(INDIRECT(INDEX($A:$A,MOD(INT(ROW()-0.5),MATCH("/",$A:$A,-1))+1)&"!A"&INT((ROW()-0.5)/MATCH("/",$A:$A,-1))+1)),INDIRECT(INDEX($A:$A,MOD(INT(ROW()-0.5),MATCH("/",$A:$A,-1))+1)&"!R"&INT((ROW()-0.5)/MATCH("/",$A:$A,-1))+1&"C"&COLUMNS($A:A),0),""))  続いて、作業用シートのC1セルをコピーして、作業用シートのD1セルに貼り付けて下さい。  次に、作業用シートのB1セルに、次の数式を入力して下さい。 =IF($D1="×",INT($C1)+SUMPRODUCT((INT(VALU("0"&$C$1:$C1))=INT($C1))*1)/SUMPRODUCT((INT(VALU("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))=INT($C1))*1),"")  続いて、作業用シートのB1~D1の範囲をコピーして、同じ列の2行目以下に、元リストが存在している各シートにおいて、値が存在している行数を合計した行数を、上回るのに充分な行数になるまで貼り付けて下さい。  次に、作業用シートのE2セルに、次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNT($B:$B),"",VLOOKUP(SMALL($B:$B,ROWS($1:1)),$B:$C,2,0))  次に、作業用シートのF2セルに、次の数式を入力して下さい。 =IF($E2="","",IF(SUMPRODUCT((INT(VALU("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))<=INT($E2))*(INT(VALU("0"&OFFSET($C$1,,,MATCH(99^9,$C:$C))))>=INT($E1))*(OFFSET($D$1,,,MATCH(99^9,$C:$C))="○"))>0,1,F1+1))  続いて、作業用シートのE2~F2の範囲をコピーして、同じ列の3行目以下に、元リストが存在している各シートにおいて、値が存在している行数を合計した行数を、上回るのに充分な行数になるまで貼り付けて下さい。  最後に、×の最大連続数の合計を表示させるセルに、次の数式を入力して下さい。 =MAX(作業用シート!$F:$F)  以上です。

b97byovro
質問者

お礼

B列全てに#NAME?と表示されます。 >という具合に、元リストが存在しているシートの名称を、入力して下さい。 > この時、Sheet1 (2)の様に、セル参照をすると、 > >'Sheet1 (2)'! > >という具合に、シート名が「'」で囲まれるシートの、シート名を入力する際には、次の様>な形式で、数式を使って入力して下さい。 > >="'Sheet1 (2)'" この解説がわかりませんでした。シート名に「” ”」をつけるということでしょうか?

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.11

>あとシリアル値を年月日に直した場合、1年目も2年目も2010年と表示されるのですが、これは正常なのでしょうか?  正常です。  人間でも、年を指定せずに、単に「10月26日」と言われれば、「今年の10月26日」の事だと判断する事が普通だと思います。  Excelも同じで、年の異なるデータを入力する際には、年も指定してあげなければ、違う年の日付であるという事が判断出来る筈もありません。  そのため、例えば 2009年10月24日、 2010年10月22日、 2010年10月23日、 のデータを入力する際に、年を指定せずに、 10月24日、 10月22日、 10月23日、 と入力してしまいますと、当然、Excelは 2010年10月24日、 2010年10月22日、 2010年10月23日、 と入力されたと判断しますから、10月24日よりも、10月23日の方が古い日付になります。  その結果、本件の様に、日付順に並べ替える場合には、入力した人間が勝手に2009年10月24日のデータのつもりになって入力したデータは、2010年10月23日のデータよりも新しい日付のデータとして扱われますから、10月23日のデータの後に、10月24日のデータが来る事になり、順序が変わってしまう事で、○×の並び方も変わりますから、結果が変わるのは当然の事です。  ですから、年の異なる日付のデータを混在させて入力する際には、年も指定した値を入力して下さい。  年月日を入力する際には、 2010/10/23 2010年10月23日 平成22年10月23日 H22.10.23 等、幾つかのパターンがありますが、上記のどのパターンで入力しても、Excelの側で2010/10/23の日付データであると、判断して、対応するシリアル値に自動的に変換して処理してくれます。

b97byovro
質問者

お礼

ありがとうございます。できました。 また疑問点ができてしまいました。 今回の質問ではシートAとシートB、2つ同時の検証でした。このシートを増やす方法を教えて頂けないでしょうか。 同時に3つ、4つを検証するにはどうすればよいでしょうか?

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.10

>数年間のデータがある場合、この数式は対応できますでしょうか?もし対応させる場合、どうすればいいのか教えてください。  シートA、及びシートBの双方とも、データが存在する行番号が999行目以下でしたら、現在のままの数式で対応出来ます。  前回の回答に対して頂いたお礼欄を拝見させて頂きました限りでは、双方共70行目にも達してはおられない様ですので、行のコピー&ペーストで、Sheet3に数式が入力されている行の行番号を、115行目(=53+61+1)以上にまで増やすだけで対応出来ます。  因みに、シートA、及びシートBのどちらか一方でも、データが存在する行番号が999行目を上回る場合には、Sheet3のD2セルに入力した数式中の、 999 となっている部分を、シートA、又はシートBの、データが存在する行番号以上の数になる様に変更する必要が生じて来ます。  又、この数式では 「数式中の999の部分に替わりに入力した数」×「Sheet3の行数」 に概ね比例して、計算量が増える可能性がありますから、計算に要する時間も、それに応じて長くなるのではないかと思います。(100行以下では殆ど長くはなりません)

b97byovro
質問者

お礼

何回か試しましたが、数年間のデータを一度に検証しようとすると手計算と違った答えになります。 前回の表はコピー&ペーストしただけではエクセルで列を分けて表示はできませんでした。エクセルデータをお礼欄に書いたものをコピー&ペーストしてエクセルに列を分けて表示させられるような書き方がありましたら教えて頂けないでしょうか? あとシリアル値を年月日に直した場合、1年目も2年目も2010年と表示されるのですが、これは正常なのでしょうか?

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.9

 それでは、試しにSheet3のC3セルに入力する数式を少し変更して、 =IF(ROW($1:1)>COUNT($A:$B),"",SMALL($A:$B,ROW($1:1))) を =IF(ROWS($1:1)>COUNT($A:$B),"",SMALL($A:$B,ROWS($1:1))) にしてみてから、Sheet3のC2セルをコピーして、C3以下に貼り付けてみて下さい。

b97byovro
質問者

お礼

ありがとうございます。結果に5が表示されました。 質問し忘れていたことがありますので質問させて頂いてもよろしいでしょうか? 数年間のデータがある場合、この数式は対応できますでしょうか?もし対応させる場合、どうすればいいのか教えてください。 1年区切りで、教えてくださったとおりやると手計算と同じになるのですが、数年間のデータをつなげて検証すると手計算と違った答えになります。 下の表では、1年区切りで検証したら1年目の最大連続×数は5、2年目の最大連続×数は12になります。ですがデータを繋げて検証すると9になってしまします。 L=×、W=○と思ってください。 シートA 列A 列B 行1 1年 1月14日 L 行2 1年 1月20日 L 行3 1年 2月15日 L 行4 1年 2月17日 W 行5 1年 4月19日 W 行6 1年 4月26日 L 行7 1年 5月3日 L 行8 1年 5月18日 L 行9 1年 5月25日 L 行10 1年 6月10日 L 行11 1年 6月22日 L 行12 1年 7月21日 W 行13 1年 8月16日 L 行14 1年 8月24日 W 行15 1年 9月15日 W 行16 1年 10月13日 L 行17 1年 10月14日 L 行18 1年 11月18日 L 行19 1年 12月1日 W 行20 1年 12月5日 L 行21 1年 12月6日 L 行22 2年 1月3日 L 行23 2年 1月4日 W 行24 2年 1月15日 W 行25 2年 2月9日 L 行26 2年 2月13日 W 行27 2年 2月15日 W 行28 2年 2月23日 L 行29 2年 3月6日 L 行30 2年 3月23日 L 行31 2年 4月10日 L 行32 2年 4月12日 L 行33 2年 4月17日 W 行34 2年 5月23日 W 行35 2年 6月15日 W 行36 2年 6月20日 W 行37 2年 7月12日 L 行38 2年 7月20日 L 行39 2年 8月6日 L 行40 2年 8月10日 L 行41 2年 8月16日 W 行42 2年 8月20日 L 行43 2年 8月23日 W 行44 2年 8月29日 W 行45 2年 10月1日 L 行46 2年 10月5日 L 行47 2年 10月8日 L 行48 2年 10月9日 L 行49 2年 11月1日 L 行50 2年 11月13日 L 行51 2年 11月15日 L 行52 2年 11月23日 L 行53 2年 12月5日 W シートB 列A 列B 行1 1年 1月4日 L 行2 1年 1月5日 L 行3 1年 1月8日 L 行4 1年 2月8日 W 行5 1年 2月8日 L 行6 1年 2月12日 L 行7 1年 2月15日 L 行8 1年 3月8日 W 行9 1年 3月11日 L 行10 1年 3月18日 W 行11 1年 3月24日 L 行12 1年 4月20日 L 行13 1年 4月27日 L 行14 1年 5月6日 W 行15 1年 5月11日 L 行16 1年 5月16日 L 行17 1年 5月17日 L 行18 1年 5月31日 W 行19 1年 6月1日 W 行20 1年 6月10日 L 行21 1年 6月21日 L 行22 1年 7月5日 L 行23 1年 7月28日 L 行24 1年 8月16日 L 行25 1年 8月23日 L 行26 1年 8月25日 W 行27 1年 9月15日 W 行28 1年 10月10日 W 行29 1年 10月28日 L 行30 1年 10月31日 W 行31 1年 11月15日 L 行32 1年 11月17日 L 行33 1年 11月22日 L 行34 1年 11月24日 L 行35 1年 11月26日 W 行36 1年 12月6日 L 行37 2年 1月4日 L 行38 2年 1月5日 W 行39 2年 1月16日 L 行40 2年 1月17日 L 行41 2年 5月4日 L 行42 2年 5月9日 L 行43 2年 5月15日 L 行44 2年 5月16日 W 行45 2年 5月17日 W 行46 2年 7月10日 W 行47 2年 7月26日 L 行48 2年 8月3日 W 行49 2年 8月10日 L 行50 2年 8月23日 L 行51 2年 9月6日 W 行52 2年 9月13日 L 行53 2年 9月20日 W 行54 2年 10月6日 L 行55 2年 10月9日 L 行56 2年 10月25日 L 行57 2年 10月30日 L 行58 2年 12月5日 L 行59 2年 12月14日 W 行60 2年 12月18日 L 行61 2年 12月28日 W

b97byovro
質問者

補足

表の行と年数がつながって見えますが、行と年です。 例、シートBの最後は 行61、2年、12月28日、W です

関連するQ&A

  • エクセル2000でこんなことはできますか?【初歩的な質問ですみません。】

    Sheet1の入力 (1) B4に5000が入力されています。 (2) B7から2006/10/6、B8に2006/10/5、B9に2006/10/4・・・のようにB506まで日付の新しい順に並んでいるものとします。 B7 2006/10/6 B8 2006/10/5 B9 2006/10/4 (3) C7からは4桁の任意の数がC506まで並んでいるものとします。 C7 7685 C8 2394 C9 1542 ・ ・ C506 6473 Sheet2の入力 (1) A列にはA2から1~9999まで入力されているものとします。 A2 1 A3 2 A4 3 ・ ・ ・ A10000   9999 (2) B列には日付、C列には任意の数が入力されているものとします。        B        C 2    2006/6/8     120 3 2006/1/24     457 ・ ・ 10000  2005/12/3    6750 (3) D列には日付、E列にも任意の数が同様に入力されているものとします。 【Sheet1に次のような作業列を関数で作りたいと思いますができるのでしょうか。】 Sheet1のB4に入力されている数をSheet2のA列から抽出しその行すべてをSheet1のB5から右側に表示する。 まだ先は続きますが、さしあたり上記の疑問につきましてお分かりの方がいらっしゃいましたら、ご教示をお願いします。

  • エクセルに関して質問させて頂きます。

    エクセルに関して質問させて頂きます。 シートA A    B(日付がA列、○×がB列、年がC列の意味) 1 1月1日、○、2000年 2 1月5日、○、 3 1月6日、×、 4 1月8日、×、 5 1月12日、×、2001年 6 1月15日、○、 7 1月18日、×、 8 1月20日、○、 9 1月23日、○、 10 1月25日、○、 年を記入するマスが一定でないとした場合、年ごとの○から×を引いた値と何年の数値かを出すにはどうしたらよいのでしょうか? >何年の数値 例   列F    列G 1 2000年  0 2 2001年 +1 などです。 >年を記入するマスが一定ではないとした場合 例えば、シートAでは2001年が列Cの5に記入されています。この2001年がCの7やCの8と変化しても関数を書き換えることなく年ごとの「○から×を引いた値」を表示させたいのです。 わかる方がいらっしゃいましたら、どうか力をお貸しください。 説明に至らない点があるかもしれません。そのときはご指摘頂けると有難いです。

  • エクセルでの計算について

    今、エクセルで確認表となるのを作成しているのですが、まだ勉強不足でして1つ教えていただきたいのですが、 セルAの列には日付(確認日)を入れています。 (月を入力すれば、その月のカレンダー通りに自動で変更されるように式をいれて作成しました) セルBの列には確認する項目においてあり・なしを手書きで書けるようにそれぞれマスを作っています。(最終的に月ごとに印刷して表にするので) ここで質問なのですが、セルA列の日付けに対してセルB列にも一日前の日付けを付ける場合、自動で入力(月ごとに反映)されるようにするには(A列みたいに月を変えればその月に反映される)どういう風に式を入れたらよいのでしょうか? よろしくお願いします。

  • エクセルでの計算について

    今、エクセルで確認表となるのを作成しているのですが、まだ勉強不足でして1つ教えていただきたいのですが、 セルAの列には日付(確認日)を入れています。 (月を入力すれば、その月のカレンダー通りに自動で変更されるように式をいれて作成しました) セルBの列には確認する項目においてあり・なしを手書きで書けるようにそれぞれマスを作っています。(最終的に月ごとに印刷して表にするので) ここで質問なのですが、セルA列の日付けに対してセルB列にも一日前の日付けを付ける場合、自動で入力(月ごとに反映)されるようにするには(A列みたいに月を変えればその月に反映される)どういう風に式を入れたらよいのでしょうか? よろしくお願いします。

  • エクセルのシート間のデータ抽出について

    (1)シートは「集約」用のシートと、「各月」のシートがあります。「集約」シートは、A列には日付、B列には番号、C列には備考欄という表があります。各月のシートも同様ですが、番号の項目だけどの月も「1、2、3,4~」と通し番号でつけてあります。通し番号の数は月によって異なります。多くなる月もあれば、少なくなってしまう月、何もない月もあります。(2)「集約」の日付なり番号なりを入力すると、各月のデータが一つの表に反映されるようにしたいです。何かよい手立てはないものでしょうか?よろしくお願いします。

  • エクセル数式で作った表に関して

    課題の資料にデータを整理しています。 素人の為、以前もこちらで助けていただいたのですが、また行き詰ってしまったので、助けていただきたいです。 よろしくお願いします。 例えば、sheet1に下の様なデータを入力し、   A列 B列 C列 D列 1  1日 3  2  5 2  2日 5  3  4 3  3日 4  1  2 4  4日 2  7  6 5  5日 8  4  7 6  6日 9  5  3 7  7日 7  6  1 ・ ・ A1~D5までの列の平均、最大値、と最大値に対するA列の日付をsheet2に下の様に表示したいです。   A列              B列            C列  1  B列の平均         C列の平均         D列の平均   2  B列の最大値        C列の最大値        D列の最大値  3  B列の最大値に対応するA列 C列の最大値に対応するA列 D列の最大値に対応するA列  ここまでは出来たのですが、その下に、A6~D10、A11~D15と表を続けていきたいのですが、 Sheet2のA1~C3を選択し、カーソルを右下に沿わせ+をクリックして下にドラッグしても、続きのセルには 対応せず、うまくいきません。 説明が下手でわかりづらいかと思いますが、 Sheet1で入力したデータを、5行ずつsheet2で数式の表にしたいということです。 よくあるデータ整理の仕方だと思うのですが、初心者のため、上手くいきません。 どなたか助けていただけたら幸いです。

  • エクセルで日付セルの参照先が空白の場合の書式設定

    エクセル2016です。 例えばシート1のA列に日付を入れる表があって、そのA列のセルを参照してシート2の$B$2に同じ日付が入る表があります。 このA列への日付の入力を忘れがちなのでシート1のA列が空白セルの場合(=シート2のB2セルが1900年1月1日となる)はセルを赤色にしたいのですが。 書式設定で、セルが「1900年1月1日」の時、としてもうまくいかないのですが。 シート2のB2はOFFSET関数でA列の値を引っ張るので、A1=""では書式が設定できませんのでよろしくお願します。

  • エクセル予定表のリンク

    エクセルで年間予定表シートと月予定表シートをリンクさせています。 年間シートは,A3から1年分の日付が縦1列に並んでおり,A1に西暦を入力すると曜日が変化する万年歴になっています。B列にその日の予定を入力しています。 月予定表シートは,4月がA列B列,5月がC列D列,・・・と並んでおり,日付も予定も年間シートからリンクしています。 ここまでは,「=年間予定表!B7」というような式で十分だったのですが,2月が閏の場合に月予定表の3月1日のセルが年間予定表の2月29日を参照してしまいます。 年間予定表のA337が3月1日の場合はそのまま参照し,2月29日の場合は次のセルを参照する関数はないでしょうか。

  • エクセルのマクロについて質問です。

    エクセルのマクロについて質問です。 マクロを発動した時に、あるセルに入力してある数値を参照し、その行のX列目に数値を張り付けるものを作成しようとしています。 例えば シート「1」の A1に日付を入力 B1にある数字を入力 シート「2」の A列にA1→1~A31→31の日付が入力されている時 マクロ発動時にシート「1」A1の日付と一致する シート「2」のB列にシート「1」のB1の値を貼り付け ↑たとえばシート「1」のA1が1日でB1が500だった場合 シート「2」の1日(A1)と同じ行でB列(B1に500を 貼り付けるものです。 かなり下手な説明だと自覚しておりますが、解読できる方 どうかご教授ねがいます。

  • エクセルの関数の質問です。

    エクセルの関数の質問です。 1日の案件数を求めるのは簡単ですが、同顧客が1日に何度も混在する場合の1日の顧客数の 求め方がわかりません。 種類の数え方の応用編でしょうか?どなたか教えてください! エクセルでsheet1のA2からA400までが顧客番号(文字列。空白含む。)、B2からB400までが日付(1日から31日)(1から31の数値。空白含む。)、sheet2のA2からA32までが1日から31日まで、のとき、sheet2のB2からB32にその日ごと(B2ならA2(1日))の顧客数を出す数式を教えてください。 ※sheet1の顧客番号、日付は、同じ顧客番号、同じ日付も含まれ、混在しています。 ついでにsheet2のC2からC32までに1日の案件数も出したいです! 例) sheet1 A  B 05 1日 05 1日 03 1日 01 1日 01 2日 01 2日 06 2日 05 2日 03 2日 sheet2 A   B   C 1日 3名  4件 2日 4名  5件 3日 0名  0件 4日 0名  0件 sheet2のBとCを数式にしたいです。