У меня есть календарь Excel, который мы используем на выходные дни. Наш год отпуска - с апреля по март следующего года. Я хотел бы добавить 13- й лист, где в столбце A будет указано имя сотрудника, а в столбце B - начальный отпуск. В столбце C я хотел бы получить формулу, которая вычтет 8-часовой отпуск из столбца B и поместит этот результат в столбец C всякий раз, когда имя сотрудника добавляется где-либо на первых 12 листах. Слишком усложнить, иногда сотрудник будет принимать участие только в выходных. Это будет указано в календаре как "Джонсон 2L", что означает, что Джонсон взял 2 часа позднего отпуска. В этой ситуации столбец C должен вычесть только 2 часа из столбца B.

1 ответ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)

Некоторые предположения:

  1. Строка 13 листа 13 используется для названий заголовков, таких как имя, начало, остаток.
  2. Ваши первые 12 листов называются от Sheet1 до Sheet12.
  3. Все листы выглядят примерно так же, как ваш скан, то есть область, в которой мы хотим искать имена, это B4:O33 на любом данном листе.
  4. В именах людей нет опечаток.

Это составит месячную сумму, а затем общую сумму в столбце O.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .