再び質問。エクセルで集計。

このQ&Aのポイント
  • エクセル初心者でわからない事だらけです。
  • 最近のエクセルでしかできない事なのでしょうか?
  • それともどこかを変更すると同じ事ができるのでしょうか?
回答を見る
  • ベストアンサー

再び質問。エクセルで集計。

昨日、「エクセルまたは他のフリーソフトで集計したいです。」 と質問をして、ベストアンサーさんから教えて頂いた下記の方法で、 自宅パソコンのWindows 7のエクセルでは出来ました。 そのデーターを会社のWindows XPのエクセル2000で開くと、 シート2の名前が表記されるところに「#NAME?」となってしまいました。 私が最初質問した時にWindows 7と書いたので、それに沿って教えて 頂いたのだと思います。 最近のエクセルでしかできない事なのでしょうか? それともどこかを変更すると同じ事ができるのでしょうか? エクセル初心者でわからない事だらけです。 教えて下さい!よろしくお願い致します。 ベストアンサーの方の回答↓ ----------------------------------------------------------- シート1は元の表でお求めの表をシート2に作るとします。 シート1ではB1セルからH1セルにかけて月から日まで入力します。 氏名はA2セルから下方にあるとします。(1),(2),(3)の選択種がBからH列の2行目以降にに入力されるとします。 J列からP列を作業列として、J2セルには次の式を入力してP2セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(OR($A2="",B$1="",B2=""),"",B$1&B2&(COUNTIF(B$1:B1,B2)+1)) シート2に移ってA1セルから3行おきに月(A1セル)、火(A4セル)、水(A7セル)・・とA19セルまで入力します。 B1セルからB3セルまでに(1),(2),(3)を入力してそれを下方に繰り返し表示させます。 C1セルには次の式を入力して横方向にドラッグコピーしたのちに下方にもドラッグコピーします。 =IFERROR(INDEX(Sheet1!$A:$A,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-2)&$B1&COLUMN(A1),INDEX(Sheet1!$J:$P,1,ROUNDUP(ROW(A1)/3,0)):INDEX(Sheet1!$J:$P,10000,ROUNDUP(ROW(A1)/3,0)),0)),"")

質問者が選んだベストアンサー

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

古いエクセルのバージョンではシート2のC1セルに入力する式は次のようにします。 =IF(ISERROR(INDEX(Sheet1!$A:$A,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-2)&$B1&COLUMN(A1),INDEX(Sheet1!$J:$P,1,ROUNDUP(ROW(A1)/3,0)):INDEX(Sheet1!$J:$P,10000,ROUNDUP(ROW(A1)/3,0)),0))),"",INDEX(Sheet1!$A:$A,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-2)&$B1&COLUMN(A1),INDEX(Sheet1!$J:$P,1,ROUNDUP(ROW(A1)/3,0)):INDEX(Sheet1!$J:$P,10000,ROUNDUP(ROW(A1)/3,0)),0)))

agorin
質問者

お礼

KURUMITOさん!!!昨日に引き続き、お世話になっております。 家の古いパソコン(バージョンの古いエクセル)を開いて、昨日作ったデータに 上記の式を入れてみました!出来ました!名前出てきました! これで、会社でも使えそうです。本当に助かりました。ありがとうございました。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 横からお邪魔します。 ↓の画像のようにSheet1のデータをSheet2に表示するようにしてみました。 Sheet2のA・B列項目は入力済みだとします。 配列数式を使っていますので、極端にデータ量が多い場合はオススメできませんが、 データ量はあまり多くないというコトみたいですので・・・ とりあえずSheet1の100行目まで対応できる数式にしてみました。 Sheet2のC1セルに =IF(COUNTIF(OFFSET(Sheet1!$A$1:$A$100,,INT(ROW(A3)/3),,1),$B1)<COLUMN(A1),"",INDEX(Sheet1!$A$1:$A$100,SMALL(IF(INDEX(Sheet1!$B$1:$H$100,,INT(ROW(A3)/3))=$B1,ROW($A$1:$A$100)),COLUMN(A1)))) これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合はC1セルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、そのまま Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これを列方向・行方向にオートフィルでコピーすると 画像のような感じになります。 他の方の配置と違っていたらごめんなさいね。m(_ _)m

agorin
質問者

お礼

画像つきでわかりやすく説明して頂き、ありがとうございました。 やりたかった配置と同じ形です。 このサイトで親切な方にお会いでき、わかりやすく教えて頂いて感動です。

回答No.2

あたり~、IFERROR、こいつはウチにもありまヘン、、、 =IFERROR(??,X) これは、 =IF(ISERROR(??),X,??)) に置き換え可能。

agorin
質問者

お礼

ありがとうございました。直感はズレてはなかったようです。 もっと勉強して使いこなせるようがんばります。

  • akiomyau
  • ベストアンサー率43% (555/1280)
回答No.1

上記の式で式の最初にある IFERROR関数はEXCEL2007から利用できるようになった関数です。 EXCEL2000では対応していません。

agorin
質問者

お礼

早々の回答をありがとうございます。 日々、進化ですね。

関連するQ&A

  • エクセル参照リンクについて

    先日質問しました内容ですが、「KURUMITO」さんよりすばらしい解答をいただきましてありがとう ございます。 (投稿日時 - 2013-06-21 13:45:07) あと一つご指導ください。 Sheet2にはA20行から次の1週間分があります。 この場合、下のどの部分を変更してB21に張り付ければいいのかよくわからず困っています。 ご指導ください 「KURUMITO」様の前回のご指導内容 例えばシート2のA1セルには楢崎、岡などの文字が、B1セルから右横に日付が、A2セルから下方には9:00-10:30などがA19までの範囲に入力されているとしてB2セルには次の式を入力して右横方向にドラッグコピーしたのちに下方の行番号の19までドラッグコピーします。 =IF(COUNTIF(INDEX(Sheet1!$A:$BS,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-1),Sheet1!$A:$A,0)+MOD(ROW(A1)-1,3),MATCH(B$1,Sheet1!$A$2:$BS$2,0)):INDEX(Sheet1!$A:$BS,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-1),Sheet1!$A:$A,0)+MOD(ROW(A1)-1,3),MATCH(B$1,Sheet1!$A$2:$BS$2,0)+9),$A$1)=0,"",INDEX(Sheet1!$B$4:$M$4,MATCH($A$1,INDEX(Sheet1!$A:$BS,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-1),Sheet1!$A:$A,0)+MOD(ROW(A1)-1,3),MATCH(B$1,Sheet1!$A$2:$BS$2,0)):INDEX(Sheet1!$A:$BS,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-1),Sheet1!$A:$A,0)+MOD(ROW(A1)-1,3),MATCH(B$1,Sheet1!$A$2:$BS$2,0)+9),0)))

  • エクセルについての質問です。こんなことはできるのでしょうか?

    エクセルについての質問です。こんなことはできるのでしょうか? まず「データ」という名前のシートのA列に動詞,名詞など品詞が入っています。B列に高1,高2など学年が入っています。C列に数字(2や3など)が入っています。D列に英単語が入っています。E列に日本語訳が入っています。F列は作業列でF2のセルに=IF(AND(A2=問題作成!$A$2,B2=問題作成!$B$2,AND(C2>=問題作成!$C$2,C2<=問題作成!$D$2)),ROW(A1),"")が入っており,以下のセルに数式がコピーされています。 次に「問題作成」というシートのA5セルに=IF(COUNT(データ!$F$2:$F$2294)<ROW(A1),"",INDEX(データ!D$2:D$2294,SMALL(データ!$F$2:$F$2294,ROW(A1))))が入っており,以下のセルに数式がコピーされています。B5セルには=IF(COUNT(データ!$F$2:$F$2294)<ROW(B1),"",INDEX(データ!E$2:E$2294,SMALL(データ!$F$2:$F$2294,ROW(B1))))が入っており,以下のセルに数式がコピーされています。 「問題作成」のシートのA2セルは動詞や名詞など品詞が選択できるようになっています。B2セルは学年が選択できるようになっています。 この後,C2セルにWordでページを指定して印刷するときのように,2-3,6,8のように入力すると,「データ」のシートからそのページに該当する単語のみを「問題作成」のA5,B5以下に引っ張ってくるようなことはできますでしょうか? また,入っている数式に問題があれば,お教え願いたいのですが。 よろしくお願いいたします。

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

    エクセルの関数。 Sheet1の作業列1のA2セルに =IF(COUNTA(Sheet2!2:2)=0,"",IF(Sheet2!A2="",A1,Sheet2!A2)) →数式1とする 作業列2のB2セルに =IF(A2=$D$2,ROW(),"") →数式2とする という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーしておきます。 (Sheet2の行数以上コピーしておく) そしてE2セルに =IF(COUNT($B:$B)<ROW(A1),"",INDEX(Sheet2!B:B,SMALL($B:$B,ROW(A1)))&"") →数式3とする という数式を入れオートフィルで列方向・行方向にコピーする。 教えて頂きたいことは、数式1、数式2、数式3が何を意味しているのか。 と、この数式を使って、表を作成したのですが、ある特定の数字(コード、D2セルに入力)を入力しても反応してくれない。 (E2~H2まで、空白セルの状態になります。) (sheet2は約1200行あります。) 教えて頂けないでしょうか?

  • 別シートに勉強時間の集計 これに集計期間を指定

    お世話になっています 質問No.9097443 質問No.9089695  質問No.9104294でご指導いただきました。 ◎希望条件 勉強時間を集計したシートA列:科目 B列:開始日 C列:開始時刻 D列:終了日 E列:終了時刻 の記載があるsheet1には終了時刻から開始時刻を差し引いた作業時間を表示する列がない。 sheet1に差引の作業時間列を追加することなく、別のシートで各科目の勉強時間を集計する方法を教えてもらいました。 ************************************************************************************* ◎レクチャー頂いた内容は Sheet3のA列とB列を作業列として使用して、Sheet2に科目ごとの勉強時間の合計を集計するものとします。 Sheet3のA2セルに次の関数を入力して下さい。 =IF(INDEX(Sheet1!$A:$A,ROW())="","",IF(COUNTIF(Sheet1!$A$1:INDEX(Sheet1!$A:$A,ROW()),INDEX(Sheet1!$A:$A,ROW()))=1,ROW(),"")) Sheet3のB2セルに次の関数を入力して下さい。 =IF(OR(INDEX(Sheet1!$B:$B,ROW())="",INDEX(Sheet1!$C:$C,ROW())="",INDEX(Sheet1!$D:$D,ROW())="",INDEX(Sheet1!$E:$E,ROW())=""),"",IF(ISERROR(1/(YEAR(INDEX(Sheet1!$B:$B,ROW()))>1904)/(INDEX(Sheet1!$C:$C,ROW())+0>=0)/(INDEX(Sheet1!$C:$C,ROW())+0<1)/(YEAR(INDEX(Sheet1!$D:$D,ROW()))>1904)/(INDEX(Sheet1!$E:$E,ROW())+0>=0)/(INDEX(Sheet1!$E:$E,ROW())+0<1)),"",IFERROR(TEXT(INDEX(Sheet1!$D:$D,ROW())+INDEX(Sheet1!$E:$E,ROW())-INDEX(Sheet1!$B:$B,ROW())-INDEX(Sheet1!$C:$C,ROW()),"[h]:m:s")+0,""))) Sheet2のA2セルに次の関数を入力して下さい。 =IF(ROWS(A$1:A2)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$A:$A,SMALL(Sheet3!$A:$A,ROWS(A$1:A2)))) Sheet2のB2セルに次の関数を入力して下さい。 =IF($A2="","",TEXT(SUMIF(Sheet1!$A:$A,$A2,Sheet3!$B:$B),"[h]:m:s")+0) ************************************************************************************* ◎☆今回は、このシートに集計期間を設定したいのですが、 可能でしょうか。  上記のやり方だと、Sheet1の全ての日付の項目を集計してしまいます。  そこで、  D3に集計指定期間開始日  E3に集計指定期間終了日 を設定するなどしてできないでしょうか。  sheet!1に指定期間日を設定しないやり方でしたら、Sheet2でもSheet3にでもどちらでもいいのですが。  よろしくお願いします。

  • エクセル2003の質問です

    エクセルでの質問です。  シート1にA1商品コード、B1に商品名、C1に在庫数、D1に生産者とした時に     A       B       C       D 1 商品コード 商品名  在庫数 生産者 2 1234   みかん1   3   太郎さん 3  456   みかん2   5   次郎さん 4  234    りんご1   1   太郎さん ・ ・ となっていて、シート2に太郎さんシート3に次郎さんとした時にシート1にランダムにデータを入力 した時、シート2、シート3へ反映させる方法が知りたいです。 シート2、シート3の表はシート1と同じです。 と以前、質問して回答をいただき下記の数式を教えていただきました シート1のE2セルには次の式を入力して下方にドラッグコピーします。 =IF(D2="","",D2&COUNTIF(D$2:D2,D2)) シート2やシート3での作業は次のようにします。 A1セルにシート2では太郎さん、シート3では次郎さんと入力します。後の操作はすべてシート2と同じです。 A2セルには商品コード、B2セルには商品名、C2セルには在庫数と項目名を入力します。 A3セルには次の式を入力してC3セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(COUNTIF(Sheet1!$E:$E,$A$1&ROW(A1))=0,"",INDEX(Sheet1!$A:$C,MATCH($A$1&ROW(A1),Sheet1!$E:$E,0),COLUMN(A1))) このような数式を使い大変便利に使用していたわけですが、行数が1000、2000、3000と増えて行く うちにエクセルの再計算処理時間が増加化の傾向に有ります。 原因としては(多分)思い当たる事として、 1、シート1のデータが3000行になっている 2、シート2、3、4、5、の行数も1000行にしてある 3、登録シートがVBAで作ってある 4、パソコンが7年前に購入した物で古い(これに関しては変更できませんが) ですので今度は、シート2の所を、使い 「A2」には商品コード、「B2」には商品名、「C2」には在庫数として 「A1」に「太郎さん」だったり、「次郎さん」だったりと入力すると、「A3」からシート1のデータ を全て一覧で呼出し出来る様にする事が知りたいです。 なお、この表に関しては、実際に使用する物と項目の名称だけ違うだけで使用してます。 また、コピーしてオートフィルかけたりとかは自分は出来ますが、年配の方が使用するので 出来れば簡単にと思っています。  よろしくお願いします。

  • 別シートに勉強時間の集計結果が表示されない

    こんばんは。 http://okwave.jp/qa/q9089695.html 質問No.9089695 上記前回質問でお世話になりました。 勉強時間を集計したSheet1には Sheet1にA列:科目 B列:開始日 C列:開始時刻 D列:終了日 E列:終了時刻 の記載があります。 終了時刻から開始時刻を差し引いた作業時間を表示する列がありません。 頂いたアドバイスとして、 *********************************************************************************************************** Sheet3のA列とB列を作業列として使用して、Sheet2に科目ごとの勉強時間の合計を集計するものとします。 Sheet3のA2セルに次の関数を入力して下さい。 =IF(INDEX(Sheet1!$A:$A,ROW())="","",IF(COUNTIF(Sheet1!$A$1:INDEX(Sheet1!$A:$A,ROW()),INDEX(Sheet1!$A:$A,ROW()))=1,ROW(),"")) Sheet3のB2セルに次の関数を入力して下さい。 =IF(COUNT(INDEX(Sheet1!$B:$E,ROW(),))=4,IF(ISERROR(1/(INDEX(Sheet1!$B:$B,ROW())=TEXT(INDEX(Sheet1!$B:$B,ROW()),"yyyy/m/d")/(INDEX(Sheet1!$B:$B,ROW())>=1))/(INDEX(Sheet1!$C:$C,ROW())=TEXT(INDEX(Sheet1!$C:$C,ROW()),"h:m:s")+0)/(INDEX(Sheet1!$D:$D,ROW())=TEXT(INDEX(Sheet1!$D:$D,ROW()),"yyyy/m/d")/(INDEX(Sheet1!$D:$D,ROW())>=1))/(INDEX(Sheet1!$E:$E,ROW())=TEXT(INDEX(Sheet1!$E:$E,ROW()),"h:m:s")+0)),"",IFERROR(TEXT(SUM(INDEX(Sheet1!$D:$E,ROW(),))-SUM(INDEX(Sheet1!$B:$C,ROW(),)),"[h]:m:s")+0,"")),"") Sheet3のA2~B2セルをコピーして、Sheet3のA列~B列の3行目以下に貼り付けて下さい。 Sheet2のA2セルに次の関数を入力して下さい。 =IF(ROWS(A$1:A2)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$A:$A,SMALL(Sheet3!$A:$A,ROWS(A$1:A2))))。 Sheet2のB2セルに次の関数を入力して下さい。 =IF($A2="","",TEXT(SUMIF(Sheet1!$A:$A,$A2,Sheet3!$B:$B),"[h]:m:s")+0) *********************************************************************************************************** 上記のアドバイスを実行しましたが、項目は表示されましたが、時間が表示されません。 時間が表示されない理由はどんなことが考えられますか? よろしくお願い致します。

  • 再度エクセルの集計

    エクセルの表で、文字、数値が、並びでは無く、行が飛んで入力されています。(表なので飛びと言っています。A1,A3、A6など) この表を、同じシートの下の方に、纏めて表示させたいのです。(B10,11、12とセルの間隔を開けないで) これをする方法を教えて下さい。 この表には連番はありません。必要なら作成します。 前回、この質問をして、関数を頂いた者です。 ◆関数による方法です B10=IF(ROW(A1)>COUNTA($A$1:$A$9),"",INDEX($A$1:$A$9,SMALL(INDEX(SUBSTITUTE(N($A$1:$A$9<>""),0,10^5)*ROW($A$1:$A$9),),ROW(A1)))) ★下にコピー この答えを頂きました。練習で実行したら、出来たのですが、いざ、本シートで作業したら、上手く行きません。抽出したい表の数値がA10など列の途中セルからの時は、条件が変わって来るのでしょうか? 抽出するのは、数字、アルファベットです。 ※表で同じ条件で(A1)で行ったら出来ましたが、表なので、表の名前や項目になってしまうので、困っています。

  • 別シートに勉強時間の集計結果を表示 仕組みが・・・

    お世話になっています 質問No.9097443 及び 質問No.9089695 でご指導いただきました。 勉強時間を集計したシートA列:科目 B列:開始日 C列:開始時刻 D列:終了日 E列:終了時刻 の記載があるsheet1には終了時刻から開始時刻を差し引いた作業時間を表示する列がない。 sheet1に差引の作業時間列を追加することなく、別のシートで各科目の勉強時間を集計する方法を教えてもらいました。 レクチャー頂いた内容は ************************************************************************************* Sheet3のA列とB列を作業列として使用して、Sheet2に科目ごとの勉強時間の合計を集計するものとします。 Sheet3のA2セルに次の関数を入力して下さい。 =IF(INDEX(Sheet1!$A:$A,ROW())="","",IF(COUNTIF(Sheet1!$A$1:INDEX(Sheet1!$A:$A,ROW()),INDEX(Sheet1!$A:$A,ROW()))=1,ROW(),"")) Sheet3のB2セルに次の関数を入力して下さい。 =IF(OR(INDEX(Sheet1!$B:$B,ROW())="",INDEX(Sheet1!$C:$C,ROW())="",INDEX(Sheet1!$D:$D,ROW())="",INDEX(Sheet1!$E:$E,ROW())=""),"",IF(ISERROR(1/(YEAR(INDEX(Sheet1!$B:$B,ROW()))>1904)/(INDEX(Sheet1!$C:$C,ROW())+0>=0)/(INDEX(Sheet1!$C:$C,ROW())+0<1)/(YEAR(INDEX(Sheet1!$D:$D,ROW()))>1904)/(INDEX(Sheet1!$E:$E,ROW())+0>=0)/(INDEX(Sheet1!$E:$E,ROW())+0<1)),"",IFERROR(TEXT(INDEX(Sheet1!$D:$D,ROW())+INDEX(Sheet1!$E:$E,ROW())-INDEX(Sheet1!$B:$B,ROW())-INDEX(Sheet1!$C:$C,ROW()),"[h]:m:s")+0,""))) Sheet2のA2セルに次の関数を入力して下さい。 =IF(ROWS(A$1:A2)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$A:$A,SMALL(Sheet3!$A:$A,ROWS(A$1:A2)))) Sheet2のB2セルに次の関数を入力して下さい。 =IF($A2="","",TEXT(SUMIF(Sheet1!$A:$A,$A2,Sheet3!$B:$B),"[h]:m:s")+0) ************************************************************************************* 実践できたものの、仕組みが複雑でわかりません。 Sheet3のA2では、IF関数の中で、COUNTIF関数が使われていますが、なんのためなのかわかりません。 Sheet3のB2セルには関数の中に">1904"と数値の1904より大きい値を指定する関数が組み込まれたいますが、なんのためか理解できていません。 Sheet2のA2では、「Sheet2のA1:A2がSheet3のA列より大きい」という条件に適合しなかった場合、最小値を求める計算をしていますが、何のために行っているのかわかりません。 Sheet2のB2では、A2に適合しなかった場合、Sheet1のA列から何かを何かの条件に一致したものを合計して時間表示していますが、よくわかりません。 簡単でいいので、解説をお願いできませんでしょうか? すみません、理解力が乏しいもので申し訳ありませんが、よろしくお願い致します。

  • エクセル 追加質問

    【質問】 A1のセルに「日本一株式会社 マーケティングスタッフ 山田太郎」 と一行で書かれた時に、 日本一株式会社を判別してB1にはその住所、B2は電話番号、B3はFAX番号を 書かせたいのですがどうのようにしたらいいのでしょうか。 の質問に対して以下のような解答を頂きました。 【回答】 シート1のA1セルに入力されるデータはスペースでいくつかの文字列に分かれているとして、最初のスペースまでの文字列を対象として住所や電話番号FAX番号を表示させるとしたら、次のようにします。 データベースとしてシート2にはA列に日本一株式会社などの文字列が、B列には住所、C列には電話番号、D列にはFAX番号が入力されているとします。 そこでシート1のB1セルには次の式を入力してB3セルまでオートフィルドラッグします。 =IF(COUNTIF(Sheet2!A:A,LEFT(A$1,FIND(" ",A$1)-1))=0,"",INDEX(Sheet2!B:D,MATCH(LEFT(A$1,FIND(" ",A$1)-1),Sheet2!A:A,0),ROW(A1))) と頂きましたが、 Sheet1 B3 まで反映されるのですが、B4、B5・・・と以降反映させる為にはどこを書き換えればよろしいのでしょうか。 ちなみに B4は =IF(COUNTIF(Sheet2!A:A,LEFT(A$1,FIND(" ",A$1)-1))=0,"",INDEX(Sheet2!B:D,MATCH(LEFT(A$1,FIND(" ",A$1)-1),Sheet2!A:A,0),ROW(A4))) になっています。 変更箇所の指摘、回答よろしくどうぞ。

  • エクセル2010 同データの検索と関連セルの表示

    先の質問、 http://okwave.jp/qa/q8405162.html において、実践後の画像を再アップさせて頂きます。 まずは、S1セルに =IF(INDEX($Y:$Y,ROW())="","",INDEX($Y:$Y,ROW())&"■"&COUNTIF(INDEX($Y:$Y,1):INDEX($Y:$Y,ROW()),INDEX($Y:$Y,ROW()))) を入力後、ctrl + ENTER で確定し、オートフィルで最下部まで。 その後、すべてctrl + ENTER で 以下を貼り付けました。 B9セル =IF(INDEX($4:$4,COLUMN())="","",IF(ROUNDUP((ROW()-ROW($A$8))/4,0)>COUNTIF($Y:$Y,INDEX($4:$4,COLUMN())),"",IF(INDEX($V:$V,MATCH(INDEX($4:$4,COLUMN())&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0))="","",INDEX($V:$V,MATCH(INDEX($4:$4,COLUMN())&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0))))) B10セル =IF(INDEX($4:$4,COLUMN())="","",IF(ROUNDUP((ROW()-ROW($A$8))/4,0)>COUNTIF($Y:$Y,INDEX($4:$4,COLUMN())),"",IF(INDEX($Z:$Z,MATCH(INDEX($4:$4,COLUMN())&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0))="","",INDEX($Z:$Z,MATCH(INDEX($4:$4,COLUMN())&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0))))) B11セル =IF(INDEX($4:$4,COLUMN())="","",IF(ROUNDUP((ROW()-ROW($A$8))/4,0)>COUNTIF($Y:$Y,INDEX($4:$4,COLUMN())),"",IF(INDEX($AA:$AA,MATCH(INDEX($4:$4,COLUMN())&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0))="","",INDEX($AA:$AA,MATCH(INDEX($4:$4,COLUMN())&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0))))) B12セル =IF(INDEX($4:$4,COLUMN())="","",IF(ROUNDUP((ROW()-ROW($A$8))/4,0)>COUNTIF($Y:$Y,INDEX($4:$4,COLUMN())),"",IF(INDEX($AC:$AC,MATCH(INDEX($4:$4,COLUMN())&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0))="","",INDEX($AC:$AC,MATCH(INDEX($4:$4,COLUMN())&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0))))) C9セル =IF(INDEX($4:$4,COLUMN()-1)="","",IF(ROUNDUP((ROW()-ROW($A$8))/4,0)>COUNTIF($Y:$Y,INDEX($4:$4,COLUMN()-1)),"",IF(COUNT(INDEX($U:$U,1):INDEX($U:$U,MATCH(INDEX($4:$4,COLUMN()-1)&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0))),LOOKUP("9999/12/31"+1,INDEX($U:$U,1):INDEX($U:$U,MATCH(INDEX($4:$4,COLUMN()-1)&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0))),""))) C9セルの書式設定の表示形式を[日付]に。 C10セル =IF(ISERROR(1/(INDEX($U:$U,MATCH("9999/12/31"+1,INDEX($U:$U,1):INDEX($U:$U,MATCH(INDEX($4:$4,COLUMN()-1)&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0)))+3)<>"")),"",INDEX($U:$U,MATCH("9999/12/31"+1,INDEX($U:$U,1):INDEX($U:$U,MATCH(INDEX($4:$4,COLUMN()-1)&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0)))+3)) C11セル =IF(INDEX($4:$4,COLUMN()-1)="","",IF(ROUNDUP((ROW()-ROW($A$8))/4,0)>COUNTIF($Y:$Y,INDEX($4:$4,COLUMN()-1)),"",IF(INDEX($AB:$AB,MATCH(INDEX($4:$4,COLUMN()-1)&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0))="","",INDEX($AB:$AB,MATCH(INDEX($4:$4,COLUMN()-1)&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0))))) C12セル =IF(INDEX($4:$4,COLUMN()-1)="","",IF(ROUNDUP((ROW()-ROW($A$8))/4,0)>COUNTIF($Y:$Y,INDEX($4:$4,COLUMN()-1)),"",IF(INDEX($AD:$AD,MATCH(INDEX($4:$4,COLUMN()-1)&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0))="","",INDEX($AD:$AD,MATCH(INDEX($4:$4,COLUMN()-1)&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0))))) 機器Aの1回目は求める数値を抜き出して表示してくれています。 それを、コピー&ペーストで 機器Bの1回目、機器Aの2回目に貼り付けました。 これは、オートフィルでも同じ数値が帰って来ます。 それで問題点なのですが、 機器Bの1回目、E9セルには1月1日と、E10セルには空白が帰って来ています。 また機器Aの2回目も同じ場所、C13セルが1月2日と、C14セルが空白で帰って来ています。 ちなみにE9セルの数式は =IF(ISERROR(1/(INDEX($U:$U,MATCH("9999/12/31"+1,INDEX($U:$U,1):INDEX($U:$U,MATCH(INDEX($4:$4,COLUMN()-1)&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0)))+3)<>"")),"",INDEX($U:$U,MATCH("9999/12/31"+1,INDEX($U:$U,1):INDEX($U:$U,MATCH(INDEX($4:$4,COLUMN()-1)&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0)))+3)) E10セルの数式は =IF(ISERROR(1/(INDEX($U:$U,MATCH("9999/12/31"+1,INDEX($U:$U,1):INDEX($U:$U,MATCH(INDEX($4:$4,COLUMN()-1)&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0)))+3)<>"")),"",INDEX($U:$U,MATCH("9999/12/31"+1,INDEX($U:$U,1):INDEX($U:$U,MATCH(INDEX($4:$4,COLUMN()-1)&"■"&ROUNDUP((ROW()-ROW($A$8))/4,0),$S:$S,0)))+3)) となっています。 これで問題点が明らかになるでしょうか? よろしくお願いいたします。