오늘 날짜 보다 큰 날짜들 중에서 가장 오른쪽 끝에 기재되어 있는 날짜의 열번호를 찾는 수식을 만들었습니다만..
함수/공식
작성자
말
작성일
2023-02-01 01:46
조회
76
{=MAX(IF(A4:AB4<TODAY(),"",COLUMN(A4:AB4)))}
이렇게 수식을 만들었습니다.
해당 범위 값들 중 오늘 날짜 보다 작은 날짜들은 "" 처리해버리고, 큰 날짜들은 칼럼번호를 불러와서 그 중 가장 칼럼이 큰 값이 나오게끔...
그런데 중요한 것은 저렇게 만들었을 때 먹혀들지 않는 다는 것입니다. 항상 마지막 범위의 칼럼번호가 불러와집니다...
예컨대 위 그림처럼 날짜 값들이 오른쪽으로 주욱 나열되어 있는데, 오늘 날짜보다 크면서, 칼럼번호가 맥스인 녀석은 25년 1월 3일에 해당하는 칼럼번호일 텐데.. 항상 범위의 끝 칼럼인 28이 반환됩니다.. 도대체 수식의 어느 부분이 잘못된 것일까요???
전체 10,194
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
23년 마지막, "엑셀 기초반" 챌린지! - 3주 완성 특별 스터디 모집 (~3/17(금) 까지) (39)
![]() ![]() |
![]() ![]() |
2023.03.11 | 31 | 4094 | ||
공지사항 | 공지사항 |
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐
(149)
오빠두엑셀
|
2021.10.28
|
추천 188
|
조회 10744
|
![]() ![]() |
2021.10.28 | 188 | 10744 |
53401 | 차트/그래프 |
New 표에서 원하는 부문만 뽑아내기
![]() ![]() |
![]() |
01:13 | - | 20 |
53373 | 함수/공식 |
New 레시피) 재료명을 입력하면 g당 단가가 자동입력되게 하는 방법을 알고싶습니다.
![]() ![]() |
![]() |
2023.03.24 | - | 16 |
53329 | 함수/공식 |
New 마지막 숫자 삭제 방법(마지막에 숫자가 없는, 자릿수가 상이한 셀 포함의 경우)
![]() ![]() |
![]() |
2023.03.24 | - | 30 |
53325 | 함수/공식 |
New 중복된 값의 수량 합계 구간별 카운트 문의
![]() ![]() ![]() |
![]() |
2023.03.24 | - | 19 |
53321 | 구글시트 |
New 스프레드시트 다중조건 값 찾기 문의드립니다!
![]() ![]() |
![]() |
2023.03.24 | - | 27 |
53319 | 함수/공식 |
New TEXTJOIN 함수 결과 괄호로 묶는 방법
![]() ![]() ![]() |
![]() |
2023.03.24 | - | 27 |
53304 | 함수/공식 |
New 환자ID 1,2,3,4... 형식으로 변경하는 법
![]() ![]() |
![]() |
2023.03.24 | - | 29 |
53300 | 함수/공식 |
New 하나의 Sheet내 반복되는 양식에서의 함수 입력
![]() ![]() |
![]() |
2023.03.24 | - | 20 |
53297 | 함수/공식 |
New WBS에서 업무 진행률 구하는 함수
![]() ![]() ![]() |
![]() |
2023.03.24 | - | 31 |
53293 | 함수/공식 |
New 여러 행으로 작성된 조건의 월별 합을 구하고싶습니다.
![]() ![]() ![]() |
![]() |
2023.03.24 | - | 27 |
53290 | 피벗테이블 |
New 사용자 지정 목록 다른 공유자 연결 문의
![]() |
![]() |
2023.03.24 | - | 17 |
53285 | VBA |
New MousePOS As POINTAPI 오류
![]() ![]() ![]() |
![]() |
2023.03.24 | - | 27 |
53282 | 함수/공식 |
New '경력기간 구하기' 인데 어떻게 가닥을 잡아야 할지 ㅠㅠ 고수님들 도와주십시오
![]() ![]() |
![]() |
2023.03.24 | - | 41 |
53277 | 함수/공식 |
New 사이즈별 갯수 추출 문의드립니다.
![]() ![]() |
![]() |
2023.03.24 | - | 27 |
53271 | 파워쿼리/피벗 |
New 파워쿼리 #NAME? 오류
![]() ![]() |
![]() |
2023.03.24 | - | 31 |
53265 | 파워쿼리/피벗 |
New 파워쿼리를 통한 데이터 정리 질문드립니다.
(1)
![]() |
![]() |
2023.03.24 | - | 31 |
53261 | VBA |
New 발주서 작성...10년째 이러고 있습니다..ㅜㅜ
![]() |
![]() |
2023.03.24 | - | 67 |
53258 | 문서서식 |
New 사용자지정 서식 작업 후 내용 취합을 하고 싶습니다.
![]() ![]() ![]() |
![]() |
2023.03.24 | - | 31 |
53255 | 기능/도구 |
New [메모 표시/숨기기] 기능에 대한 질문입니다
![]() ![]() |
![]() |
2023.03.24 | - | 24 |
53241 | VBA |
New Application.ScreenUpdating 문 사용 관련
(2)
![]() |
![]() |
2023.03.24 | - | 27 |
53235 | VBA |
New 크롬 셀레니움 크롤링 중 HTML 스크립트 자체 텍스트 문의 건
![]() |
![]() |
2023.03.24 | - | 25 |
53231 | VBA |
New '1004' 런타임 오류가 발생하였습니다
![]() ![]() |
![]() |
2023.03.24 | - | 31 |
53207 | 기능/도구 |
New 행번호 삭제된 경우 복원 방법
![]() ![]() |
![]() |
2023.03.23 | - | 39 |
53205 | 문서서식 |
New 엑셀 왕초보 질문좀 드리겠습니다~ 한글에서 엑셀로 변환후 랜덤하게 문제 섞기
(3)
답변완료
![]() |
![]() |
2023.03.23 | - | 41 |
53199 | 함수/공식 |
New 오랫만에 질문하나올리겠습니다_서식 부분일거같긴한데요.
![]() ![]() ![]() |
![]() |
2023.03.23 | - | 40 |
53193 | 함수/공식 |
New INDEX MATCH 함수 문의 드립니다 고수님들!!!!!!
![]() ![]() ![]() |
![]() |
2023.03.23 | - | 51 |
53188 | 기능/도구 |
New 엑셀 셀 값 입력은 가능한데 입력된 셀 값 복사는 안되도록 할 수 있나요?
(2)
![]() |
![]() |
2023.03.23 | - | 32 |
53186 | 문서서식 |
New 조건부서식 질문 있습니다ㅠㅠ
![]() ![]() ![]() |
![]() |
2023.03.23 | - | 34 |
53166 | 기능/도구 |
New 인쇄 시 '그림이 커서 일부분이 잘립니다'라며 표의 일부가 인쇄되지 않습니다.
![]() ![]() |
![]() |
2023.03.23 | - | 35 |
53159 | VBA |
New 일정 범위에서 셀의 값이 왼쪽 1번째 ~ 4번째 문자까지 동일하면 붉은색으로 표시하기 vba
![]() ![]() ![]() |
![]() |
2023.03.23 | - | 41 |
@말 님 ""으로 대체를 해도 비교연산시 "">Today() 가 True여서 발생하는 문제입니다.
수식을 이렇게 바꿔 보세요.
{=MAX(INDEX(IF(IF(ISNUMBER(A4:AB4),A4:AB4,0)>TODAY(),COLUMN(A4:AB4),""),))}
@원조백수 님 어제 새벽에 계속 씨름하다가 "어, 텍스트는 무조건 숫자 보다 큰 값으로 인식되네? " 하고 해결법을 찾았는데, 이렇게 아침에 명쾌한 해답이 달리네요. ㅎㅎ;; 그래도 중요한 개념하나 더 확인하고 배워갑니다. 감사합니다.
@말 님 감사합니다. 잘배우고 갑니다.^^
@말 님 안녕하세요, 해당 건에 대해 답변드립니다.
우선 해당식은 구성이 잘못되어 있습니다.
MAX(IF(A4:AB4<TODAY(),"",COLUMN(A4:AB4)))
식을 잘보면 공백처리까진 맞으나, 오늘보다 큰 날짜일 경우 해당 날짜를 열번호로 변환시킵니다. 실제로 하기처럼 변환됩니다.
즉 날짜의 크기에 상관없이 해당 열번호로 고정되므로 당연히 맨끝의 열번호만 max 함수에 의해 출력됩니다.
하기식으로 수정하시면 됩니다.
=MATCH(MAX(IF(A4:AB4<TODAY(),"",A4:AB4)),A4:AB4,0)
1차적으로 IF(A4:AB4<TODAY(),"",A4:AB4)의 경우 오늘전이면 공백처리 아니면 날짜를 그대로 둡니다.
이후 맥스함수를 통해 가장 큰 날짜를 찾아냅니다.
마지막으로 매치함수를 통해 해당 날짜를 찾아냅니다.(매치함수는 해당 범위내에서의 순서인데 결국 전체범위이므로 열번호를 출력합니다.
물론 A부터 시작을 안한던가 할경우가 있을 수 있습니다. 그럴경우에는 빈공간만큼 마지막에 숫자를 더해주면 됩니다.
이상 파일을 첨부해드리니 도움되시기 바랍니다.
쓰고나서 보니 질문으 잘못이해했네요, 그냥 참고만 하시기 바랍니다..
첨부파일 : 111.xlsx
자려다가 혹시나 해서 확인해보니 해당목적이 맞다면 맞는 식입니다.
실제로도 제가 테스트해봤는데 식에 문제가 없었습니다. 아마도 마지막행에 특정값이 들어가있거나 해당시트에 먼가 문제가 있었던걸
로 보입니다. 테스트파일 첨부해드리니 확인 바랍니다. 그리고 위에껀 가장 큰 날짜 열번호 구하는거라 생각하고 참고만해주세요
첨부파일 : 확인.xlsx
@김원중 님 노고에 감사드립니다..!!
확인해보니 결국 텍스트와 숫자를 대소 비교하면 반드시 텍스트가 더 크게 나오는 엑셀의 근본적인 문제에서 비롯된 수식 오류였습니다. 결국 해당 범위 마지막에 빈 공백으로 되어 있었기 때문에 그 빈 공백의 열값만 반환되는 거였습니다.