NO.119331
ネストが多すぎてエラーが出る数式を何とかしたいです。 |
---|
■投稿者/ Snoopylover
■投稿日/ 2013/12/25(18:27)
□URL/ |
こんにちは。
お世話になります。
長いですが、よろしくお願い致します。
OS:XP,7 Excel:2003
Web勤怠の出勤確認のシフト表で下記のような2つのシートがありまして、
Sheet1 ------------------------------------------ B C D E ------------------------------------------ 1 日付 1 ------------------------------------------ 2 ------------------------------------------ 3 入店店舗 スタッフ名 勤怠状況 ------------------------------------------ 4 ○○店 大阪花子 ------------------------------------------ 2 △△店 関東太郎 ------------------------------------------ 3 □□店 静岡二郎 ------------------------------------------ 4 ××店 京都三郎
貼り付け用
------------------------------------------ B D I J N R ------------------------------------------ 1 1 2 3 ------------------------------------------ 2 大阪花子 予定 10:00 9:00 ------------------------------------------ 3 大阪花子 実績 --:-- 9:00 ------------------------------------------ 4 関東太郎 予定 10:00 10:00 ------------------------------------------ 5 関東太郎 実績 10:00 10:00 ------------------------------------------ 6 静岡二郎 予定 10:00 ------------------------------------------ 7 静岡二郎 実績 10:00 ------------------------------------------ 8 京都三郎 予定 10:45 10:00 ------------------------------------------ 9 京都三郎 実績 11:00 --:-- ------------------------------------------
下記の数式をSheet1のE4に入れたんですが、ネストの上限を超えているので「入力した数式は正しくありません」のエラーが出ます。
=IF(D4="","", IF(AND(C4="",OFFSET(INDEX(貼り付け用!D:D,MATCH(D4,貼り付け用!D:D,0)-1),1,MATCH($D$1+1,貼り付け用!$J$1:$AW$1,0)+1)="",OFFSET(INDEX(貼り付け用!D:D,MATCH(D4,貼り付け用!D:D,0)-1),2,MATCH($D$1+1,貼り付け用!$J$1:$AW$1,0)+1)=""),"休み", IF(AND(C4="",OFFSET(INDEX(貼り付け用!D:D,MATCH(D4,貼り付け用!D:D,0)-1),1,MATCH($D$1+1,貼り付け用!$J$1:$AW$1,0)+1)="",OFFSET(INDEX(貼り付け用!D:D,MATCH(D4,貼り付け用!D:D,0)-1),2,MATCH($D$1+1,貼り付け用!$J$1:$AW$1,0)+1)<>""),"店舗確認", IF(AND(C4<>"",OFFSET(INDEX(貼り付け用!D:D,MATCH(D4,貼り付け用!D:D,0)-1),1,MATCH($D$1+1,貼り付け用!$J$1:$AW$1,0)+1)="",OFFSET(INDEX(貼り付け用!D:D,MATCH(D4,貼り付け用!D:D,0)-1),2,MATCH($D$1+1,貼り付け用!$J$1:$AW$1,0)+1)=""),"シフト確認", IF(AND(C4<>"",OFFSET(INDEX(貼り付け用!D:D,MATCH(D4,貼り付け用!D:D,0)-1),1,MATCH($D$1+1,貼り付け用!$J$1:$AW$1,0)+1)<>"",OFFSET(INDEX(貼り付け用!D:D,MATCH(D4,貼り付け用!D:D,0)-1),2,MATCH($D$1+1,貼り付け用!$J$1:$AW$1,0)+1)="--:--"),"未打刻", OFFSET(INDEX(貼り付け用!D:D,MATCH(D4,貼り付け用!D:D,0)-1),2,MATCH($D$1+1,貼り付け用!$J$1:$AW$1,0)+1)))))
貼り付け用シートの1行目の数字が日付でして、Sheet1のD1を参照しその日の出欠の確認を取ります。
やりたい事は
1.Sheet1の店舗名が空白、貼り付け用の予定も空白、実績も空白=休み 2.Sheet1の店舗名が空白、貼り付け用の予定も空白、実績に時刻が入っている=どの店舗に入っているか要確認 3.Sheet1の店舗名が入っている、貼り付け用の予定は空白、実績も空白=シフト確認 4.Sheet1の店舗名が入っている、貼り付け用の予定も入っている、実績が"--:--"=勤怠未入力 5.Sheet1の店舗名が入っている、貼り付け用の予定、実績共に入っている=そのまま表示
です。
上記の1〜4のどれか1つを消せば普通に動くんですが、1つでも欠けると勤怠確認の漏れが出ますので、 数式を簡略化する為の知恵をお貸しください。 よろしくお願いいたします。
++++++++++++++++++++ OS ⇒Windows XP Version⇒Excel 2003 ++++++++++++++++++++ |
親記事
削除チェック/
|