確認したいのですが、
>・青色参照:同月に入居と退去がある場合、新入居者の部屋番号を「●-2」として管理。
という事は、例えば「ええ」さんの部屋No.は翌月には「103-2」ではなく、「103」に変わると考えれば宜しいのでしょうか?
それから、管理する部屋番号には、101号室と1010号室という様に、前半の3桁が同じ文字列(この例では、どちらも「101」から始まっている)となる部屋が複数存在しているのでしょうか?
もし、そうだとしますと、作業列(補助的な計算処理を行うために使用するセルを設けるための列)を設ける必要があります。
今仮に、A、B、Cの各表がSheet1に入力されていて、Sheet2のA列とB列を作業列として使用するものとします。
まず、Sheet2のA4セルに次の数式を入力して下さい。
=IF(OR(INDEX(Sheet1!$H:$H,ROW())="",INDEX(Sheet1!$I:$I,ROW())=""),"",LEFT(INDEX(Sheet1!$H:$H,ROW()),FIND("-",INDEX(Sheet1!$H:$H,ROW())&"-")-1)&":"&INDEX(Sheet1!$I:$I,ROW()))
次に、Sheet2のB4セルに次の数式を入力して下さい。
=IF(OR(INDEX(Sheet1!$A:$A,ROW())="",INDEX(Sheet1!$B:$B,ROW())="",INDEX(Sheet1!$E:$E,ROW())=""),"",LEFT(INDEX(Sheet1!$A:$A,ROW()),FIND("-",INDEX(Sheet1!$A:$A,ROW())&"-")-1)&":"&INDEX(Sheet1!$B:$B,ROW())&":"&INDEX(Sheet1!$E:$E,ROW()))
次に、Sheet2のA4~B4の範囲をコピーして、同じ列の5行目以下に貼り付けて下さい。
次に、Sheet1のP4セルに次の数式を入力して下さい。
=IF($O4="","",SUMIF(Sheet2!$A:$A,LEFT(INDEX($N:$N,ROW()),FIND("-",INDEX($N:$N,ROW())&"-")-1)&":"&INDEX($O:$O,ROW()),$K:$K))
次に、Sheet1のQ4セルに次の数式を入力して下さい。
=IF(COUNTIF(Sheet2!$B:$B,"="&LEFT(INDEX($N:$N,ROW()),FIND("-",INDEX($N:$N,ROW())&"-")-1)&":"&INDEX($O:$O,ROW())&":"&Q$3),INDEX($C:$C,MATCH(LEFT(INDEX($N:$N,ROW()),FIND("-",INDEX($N:$N,ROW())&"-")-1)&":"&INDEX($O:$O,ROW())&":"&Q$3,Sheet2!$B:$B,0)),"")
次に、Sheet1のR4セルに次の数式を入力して下さい。
=IF(COUNTIF(Sheet2!$B:$B,"="&LEFT(INDEX($N:$N,ROW()),FIND("-",INDEX($N:$N,ROW())&"-")-1)&":"&INDEX($O:$O,ROW())&":"&Q$3),SUMIF(Sheet2!$B:$B,LEFT(INDEX($N:$N,ROW()),FIND("-",INDEX($N:$N,ROW())&"-")-1)&":"&INDEX($O:$O,ROW())&":"&Q$3,$D:$D),"")
次に、Sheet1のQ4~R4の範囲をコピーして、Sheet1のR4セルよりも右側にあるセルに貼り付けて下さい。
次に、Sheet1のP4セルから「先程Sheet1のQ4~R4の範囲をコピーしたものを貼りつけた中で、最も右側にあるセル」にかけての範囲をコピーして、同じ列の5行目以下に貼り付けて下さい。
以上です。
※尚、この方法でも、同じ部屋に、過去に退去した人と同姓同名の人が入居した場合には、区別が付かず、正しく計算する事が出来なくなりますので、同姓同名で且つ同じ部屋の場合には、名前の後ろに「-2」を付ける等の工夫が必要となります。
お礼
大変細かな説明文と共に、式を教えて頂きありがとうございます。 教えて頂いた式を使わせてもらい、表を作っているのですが、 1.5Mbまで膨れ上がってしまいました。 しかし、分割するなどして、是非完成させたいと思っています。 短い文章で申し訳ありませんが、大変助かりました、ありがとうございました。