조건을 만족하면 지급, 아니면 부지급을 판단 함수 검토 또는 VBA
함수/공식
작성자
007
작성일
2022-06-16 23:30
조회
92
늘 도움만 받고 있지만 염치불구하고 고수님께 문의드립니다.
참고 파일도 함께 올립니다. 지혜를 구합니다.
전체 6,913
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
📌 -- VBA 기초-활용 4주 완성, 특별 스터디 모집을 시작합니다! (모집 마감) -- 📌 (99)
![]() ![]() |
![]() ![]() |
2022.06.23 | 144 | 17900 | ||
공지사항 | 함수/공식 |
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐
(79)
오빠두엑셀
|
2021.10.28
|
추천 98
|
조회 5360
|
![]() ![]() |
2021.10.28 | 98 | 5360 |
39126 | VBA |
New FindWindowEx 선택
![]() ![]() ![]() |
![]() |
12:07 | 0 | 8 |
39125 | 문서서식 |
New 엑셀 행 선택 시 CTRL + SHIFT + 하단 방향키가 안되요
![]() |
![]() |
11:54 | 0 | 9 |
39121 | 기능/도구 |
New 셀 활성화? 표시가 안되요ㅠㅠ 개미들이 안움직임
![]() ![]() |
![]() |
11:35 | 0 | 14 |
39119 | VBA |
New 유저폼 생년월일 또는 주민등록번호는 입력해서 만나이를 추출하고 싶습니다.
![]() |
![]() |
11:24 | 0 | 7 |
39115 | 함수/공식 |
New 중복값 강조 또는 함수를 이용한 원하는 항목 찾기 문의
![]() ![]() ![]() |
![]() |
10:40 | 0 | 14 |
39113 | 문서서식 |
New 데이터가 있음에도 불구하고 필터에 아무것도 안잡히는 경우 질문드립니다.
![]() ![]() ![]() |
![]() |
10:37 | 0 | 15 |
39111 | 차트/그래프 |
New 간단한 그래프 만드려고 하는데 조언 부탁드리겠습니다.
![]() ![]() ![]() |
![]() |
10:24 | 0 | 12 |
39110 | VBA |
New VBA 파일 유효기간이 지나면 읽기전용으로 하고싶어요!
(1)
![]() ![]() |
![]() ![]() |
10:05 | 0 | 21 |
39103 | VBA |
New 특정 셀에 특정 값을 입력하면 msgbox 띄우기 (매크로 트리거)
(1)
![]() |
![]() |
01:45 | 0 | 23 |
39097 | VBA |
New Worksheet_Change 기능을 Module 에서 다루기
(3)
![]() |
![]() |
2022.07.06 | 0 | 38 |
39093 | 함수/공식 |
New 쉼표로 구분된 단어 끊는 방법좀 알려주세요! 부탁드립니다
![]() ![]() ![]() |
![]() ![]() |
2022.07.06 | 0 | 32 |
39092 | 함수/공식 |
New 정렬 기능 대신 3가지 순서로 RANK 매기기
![]() ![]() ![]() |
![]() ![]() |
2022.07.06 | 0 | 29 |
39082 | 함수/공식 |
New RANK와 RANK.EQ 함수 문의
![]() ![]() ![]() |
![]() ![]() |
2022.07.06 | 0 | 17 |
39075 | 파워쿼리/피벗 |
New 파워쿼리 새로고침시 개인정보수준이라는 팝업이 뜨면서 에러가 납니다.
![]() ![]() |
![]() |
2022.07.06 | 0 | 20 |
39072 | 함수/공식 |
New 숙박일수 계산 추가질문드립니다.
![]() ![]() ![]() |
![]() ![]() |
2022.07.06 | 0 | 29 |
39071 | 함수/공식 |
New 상태표시줄 관련
![]() ![]() |
![]() |
2022.07.06 | 0 | 27 |
39070 | 함수/공식 |
New 함수? 사용해서 1시트의 내용을 2시트에 표시하는 방법좀 알려주세요
![]() ![]() |
![]() |
2022.07.06 | 0 | 27 |
39062 | VBA |
New 고급필터를 사용하여 추출한 데이터를 수정하면 원본 데이터 시트에서 수정되는 코드 해석 부탁드립니다
![]() ![]() |
![]() |
2022.07.06 | 0 | 39 |
39059 | 차트/그래프 |
New 슬라이서 다중 연동하여 원형차트 시 적용되지 않는 문제
![]() ![]() |
![]() |
2022.07.06 | 1 | 12 |
39052 | VBA |
New 파일 삭제 매크로가 한쪽 문구에서만 작동을 합니다.
![]() ![]() |
![]() |
2022.07.06 | 0 | 23 |
39044 | VBA |
New 사용자정의함수를 다른PC에 적용
(2)
답변완료
![]() ![]() |
![]() ![]() |
2022.07.06 | 0 | 36 |
39034 | VBA |
New 자동화 프로그램 항목 추가 관련
![]() |
![]() |
2022.07.06 | 0 | 45 |
39032 | VBA |
New VBA 고급자동필터 활용 조건 값이 비워 있을 때 결과 값도 안 나오게 하는 방범 문의 합니다.
![]() ![]() ![]() |
![]() ![]() |
2022.07.06 | 0 | 33 |
39019 | 함수/공식 |
New 엑셀 수식시 범위부분이 절대값이 안되요
![]() ![]() |
![]() |
2022.07.05 | 0 | 33 |
39016 | 함수/공식 |
New vlookup으로 가져온 알파벳을 특정숫자로 바꾸는 방법(쌩초보)
(1)
![]() |
![]() |
2022.07.05 | -2 | 32 |
39014 | VBA |
New 열 추가 문의
![]() ![]() |
![]() |
2022.07.05 | 0 | 34 |
39009 | 함수/공식 |
New index,match 함수 중에서 동일한 값이 나올때
![]() ![]() |
![]() |
2022.07.05 | 0 | 28 |
39007 | 함수/공식 |
New VLOOKUP 조건에 맞는 것을 계속해서 나열하고 싶을 때
![]() ![]() |
![]() |
2022.07.05 | 0 | 39 |
39003 | 함수/공식 |
New 셀에서 영어만 추출하기
![]() ![]() ![]() |
![]() |
2022.07.05 | 0 | 29 |
38996 | VBA |
New 현재 열넓이 확인후 20 더하는 방법
(1)
![]() |
![]() |
2022.07.05 | 0 | 34 |
@007 님 AND 조건인가요 OR 조건인가요? 중복으로 조건에 해당하는 경우 누적 지급인가요?
@아니야이건아니야 님 감사합니다.
사유열(G열)에 '여비부지급' 문자가 있거나 '편도 거리 1Km 미만(M열)"이면 무조건 부지급
그 외는 지급대상자입니다.
지급대상자일 경우 출장시간이 4시간 미만이면 무조건 1만원, 4시간 이상이면 2만원입니다.
출장시간이 1일 이상이면 4시간 이상이니 2만원이고 2일 이상일 경우 일수 * 2만원입니다.
--> 누적 지급 X, 조건은 지급대상자 중 출장시간이 4시간 이상과 4시간 미만을 판단하여 2만원, 1만원을 지급합니다.
단, 출장시간이 1일 이상일 경우 일수 * 2만원입니다.
감사합니다.
@007 님 Sub test01()
If Application.WorksheetFunction.CountIfs(Range("G:G"), "*여비부지급*", Range("M:M"), "<1", Range("C:C"), Range("F27")) < 1 Then '여비부 지급이 아니거나 편도거리가 1KM 미만이 아닐 시
If Application.WorksheetFunction.XLookup(Range("F27"), Range("C:C"), Range("F:F")) < 4 Then '출장 시간이 4시간 미만일 시
Range("G27") = "1" '1만원
ElseIf Application.WorksheetFunction.XLookup(Range("F27"), Range("C:C"), Range("F:F")) > 4 And Application.WorksheetFunction.XLookup(Range("F27"), Range("C:C"), Range("F:F")) < 24 Then '출장시간이 4시간보다 길고, 24시간보다 적을 시
Range("G27") = "2" '2만원
ElseIf Application.WorksheetFunction.XLookup(Range("F27"), Range("C:C"), Range("F:F")) > 24 Then '출장 시간이 24시간 이상일 시
Range("G27") = Application.WorksheetFunction.RoundDown(Application.WorksheetFunction.XLookup(Range("F27"), Range("C:C"), Range("F:F")) / 24, 0) * 2 '24시간마다 2만원씩 추가 지급
End If
End If
End Sub
파일을 조금 수정하여, F27 셀에 이름 입력 후 버튼 클릭 시 지급액 계산되는 VBA 코드와
지급액 열에 엑셀 자체 수식으로 계산식도 넣어봤습니다.
첨부파일 : 여비지급.xlsm
@아니야이건아니야 님 와우~
보내주신 답변 감사합니다.
- 'C열 ~ H열'까지는 수정이 불가능한 원시 데이터입니다. 그래서 출장시간(F열) 형식을 변경할 수가 없습니다.
(* 30분, 3시간20분, 4시간, 5시간30분, 3일.... 이런 형식으로 ~분, ~시간, ~시간~분, ~일로 구성되어 있습니다. )
- [지급액계산] 단추를 누르니 '개체가 이 속성 또는 메서드를 지원하지 않습니다.' 라는 경고 창이 뜹니다. ㅠㅠ
애써 주셨는데 죄송합니다.
@007 님 문의하신 분은 엑셀 버전 2013 사용하시는데 호환되지 않는 Xlookup 함수를 사용한 파일을 드리면 오류가 나겠지요.
@나는나 님 아~~, 감사합니다. 잘 알겠습니다.^^