2017-12-06 6 views
0

enter image description hereExcel을 확인 2+ 값의 개별 인스턴스를 지정된 행 범위

이미지는 위의 직원 왼쪽에서 회원들과 상단에 그 해의 일의 스프레드 시트 때문이다. 주말은 파란색입니다.

주어진 날짜 범위에서 각 행에 대해 달성하고자하는 것은 두 개 이상의 개별 부재를 식별하는 것입니다. 일부 코드는 결근, 즉 IL - Illness, PR - Personal Reasons, 일부는 DE - Dentist, MW - Midwife가 아닙니다.

맨 위 행은 두 개 이상의 분리 된 결석이있는 행의 좋은 예입니다.

하나의 결석은 하루로 제한되지 않으므로 MA 결석과 같이 병행 결석이 한 번 있으면 결석으로 간주됩니다. MA는 출산을 의미하는 것으로 간주되지 않습니다.

내가 어디서부터 시작 해야할지 몰라서 코드를 제공하지 않는 것에 대해 사과드립니다. 올바른 방향으로의 힌트조차도 도움이 될 것입니다.

+0

필자는 '첫 번째 목록에있는 각 부재중마다 주말이 아닌 하나 이상의 날로 분리 된 또 다른 부재가 있습니다'와 같은 것을 프로토콜로 작성하는 것이 좋습니다. 수식 솔루션을 제공 할 수있는 사람들이 있을지 모르지만 IMO VBA가 더 쉬울 것입니다. –

답변

2

데이터에 주말이 필요합니까?

SUMPRODUCT를 사용하는 솔루션이 있지만 주말 동안 단일 블록 (예 : MA 블록)으로 부재 상태를 처리하지 못합니다. Here is a screenshot of some dummy data based on your request. 열 AI에

수식은 AI3이 기반으로되어있다

=SUMPRODUCT((B3:AG3<>"-")*(B3:AG3<>"")*(A3:AF3="-")*1)+SUMPRODUCT((B3:AG3<>"-")*(B3:AG3<>"")*(A3:AF3="")*1) 

제 SUMPRODUCT 수식의 첫 번째 항은 범위에있는 열 (AG에 B)를 결정하는 파선에 의해 표시된 더 결석 없음 ().

두 번째 용어는 주말 (공란) 인 열을 결정합니다.

세 번째 용어는 어떤 이전 열 (반나절)에 결석이 없는지 결정합니다 (대시) - 데이터 앞에 공백 열이 있어야합니다 (즉,이 예 에서처럼 A 열은 숨길 수 있음).).

두 번째 펌 프로덕션 공식은 같은 일을하지만 세 번째 용어는 이전 반나절이 주말 (공백) 인 곳을 처리합니다.

위의 내용에서 알 수 있듯이 MA가없는 단일 블록을 제외하고 모두 작동합니다. 주말 기둥을 제거한다면 수식을 단순화 할 수 있습니다.

+0

좋은 생각에 투표 할 가치가 있다고 생각합니다. 주말에 networkdays()를 사용하거나 요일을 테스트하는 방법을 상상할 수 있지만 복잡성은 많이 증가 할 것입니다. –