У меня есть календарь Excel, который мы используем на выходные дни. Наш год отпуска - с апреля по март следующего года. Я хотел бы добавить 13- й лист, где в столбце A будет указано имя сотрудника, а в столбце B - начальный отпуск. В столбце C я хотел бы получить формулу, которая вычтет 8-часовой отпуск из столбца B и поместит этот результат в столбец C всякий раз, когда имя сотрудника добавляется где-либо на первых 12 листах. Слишком усложнить, иногда сотрудник будет принимать участие только в выходных. Это будет указано в календаре как "Джонсон 2L", что означает, что Джонсон взял 2 часа позднего отпуска. В этой ситуации столбец C должен вычесть только 2 часа из столбца B.
1 ответ
0
На листе 13 вставьте каждую из этих строк в C2 - O2, но обязательно нажимайте Ctrl+Shift+Enter, а не просто Enter. Тогда вы можете заполнить эту формулу.
=SUM(IF(IFERROR(FIND(A2,Sheet1!B$4:O$33),0),IFERROR(1*MID(Sheet1!B$4:O$33,LEN(A2)+2,LEN(Sheet1!B$4:O$33)-LEN(a2)-2),IF(Sheet1!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet2!B$4:O$33),0),IFERROR(1*MID(Sheet2!B$4:O$33,LEN(A2)+2,LEN(Sheet2!B$4:O$33)-LEN(a2)-2),IF(Sheet2!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet3!B$4:O$33),0),IFERROR(1*MID(Sheet3!B$4:O$33,LEN(A2)+2,LEN(Sheet3!B$4:O$33)-LEN(a2)-2),IF(Sheet3!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet4!B$4:O$33),0),IFERROR(1*MID(Sheet4!B$4:O$33,LEN(A2)+2,LEN(Sheet4!B$4:O$33)-LEN(a2)-2),IF(Sheet4!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet5!B$4:O$33),0),IFERROR(1*MID(Sheet5!B$4:O$33,LEN(A2)+2,LEN(Sheet5!B$4:O$33)-LEN(a2)-2),IF(Sheet5!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet6!B$4:O$33),0),IFERROR(1*MID(Sheet6!B$4:O$33,LEN(A2)+2,LEN(Sheet6!B$4:O$33)-LEN(a2)-2),IF(Sheet6!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet7!B$4:O$33),0),IFERROR(1*MID(Sheet7!B$4:O$33,LEN(A2)+2,LEN(Sheet7!B$4:O$33)-LEN(a2)-2),IF(Sheet7!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet8!B$4:O$33),0),IFERROR(1*MID(Sheet8!B$4:O$33,LEN(A2)+2,LEN(Sheet8!B$4:O$33)-LEN(a2)-2),IF(Sheet8!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet9!B$4:O$33),0),IFERROR(1*MID(Sheet9!B$4:O$33,LEN(A2)+2,LEN(Sheet9!B$4:O$33)-LEN(a2)-2),IF(Sheet9!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet10!B$4:O$33),0),IFERROR(1*MID(Sheet10!B$4:O$33,LEN(A2)+2,LEN(Sheet10!B$4:O$33)-LEN(a2)-2),IF(Sheet10!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet11!B$4:O$33),0),IFERROR(1*MID(Sheet11!B$4:O$33,LEN(A2)+2,LEN(Sheet11!B$4:O$33)-LEN(a2)-2),IF(Sheet11!B$4:O$33=A2,8,0)),0))
=SUM(IF(IFERROR(FIND(A2,Sheet12!B$4:O$33),0),IFERROR(1*MID(Sheet12!B$4:O$33,LEN(A2)+2,LEN(Sheet12!B$4:O$33)-LEN(a2)-2),IF(Sheet12!B$4:O$33=A2,8,0)),0))
=B2-SUM(C2:N2)
Некоторые предположения:
- Строка 13 листа 13 используется для названий заголовков, таких как имя, начало, остаток.
- Ваши первые 12 листов называются от Sheet1 до Sheet12.
- Все листы выглядят примерно так же, как ваш скан, то есть область, в которой мы хотим искать имена, это B4:O33 на любом данном листе.
- В именах людей нет опечаток.
Это составит месячную сумму, а затем общую сумму в столбце O.