[최적화] 진짜 간단한 수식인데 너무 느립니다.

함수/공식
작성자
3과 4사이
작성일
2024-11-08 09:47
조회
406
엑셀버전 : 엑셀2010 이전

운영체제 : 윈도우10

질문 요약 : 수식의 최적화

안녕하세요 엑셀뉴비 3과4사이 입니다

작업은 어제 완료했는데 계산 속도가 너무 느려서 다른 방법이 없을까 싶어 질문드립니다.

시트 구조  : 1, 2, 12월 춘천의 각종 기상데이터를 1시간별로 기록한 데이터입니다.
C~H열, AR열을 제외한 다른 열은 기상청의 데이터를 그대로 가져온 열입니다.

 

작업 목표 : 하루 중 한시간이라도 적설량(AC열)이 기록돼있으면(빈칸이 아닌 것) 그날에 해당하는 모든행(AR열)에 "적설" 입력

 

원래는  1~12월 모든 날짜에 대해 동계도 판별하고, 적설도 판별했었는데
계산이 너무 느려서 바이너리 파일로도 바꾸고 1, 2, 12월 데이터만 남겨뒀습니다
모든 행을 다 비교하는 수식의 구조가 문제인듯한데 어떻게 최적화해야될지 모르겠네요

 

엑셀은 2010버젼을 사용중입니다.

매번 도와주셔서 감사합니다.

신고
스크랩
공유
회원등급 : 5레벨
포인트 : 255 EP
총질문 : 3 개 (마감율 : 100%)
채택답변 : 0 개
전체 8

  • 2024-11-08 10:32

    @3과 4사이 님 카운트이프함수를 굳이 쓸 이유가 없어보입니다.

    어차피 같은 테이블 안에 날짜와 시간이 매칭되어 있는 셀에다 적설 여부를 확인하는 것이니,

    그냥 AC열이 공란이 아니라면 적설, 공란이라면 공란 이렇게 수식을 짤 수 있지 않을까요

    일단 전체 범위를 테이블로 지정하거나 AC열에 대해 이름관리자를 통해 이름 정의를 해주시구요,

    보통 그냥 테이블로 한번에 지정하시면 아마 표1[적설(cm)] 이렇게 지정이될거에요

    AR열에 IF(표1[적설(cm)]="","","적설") 이렇게 하면 되지 않을까요


    • 2024-11-08 11:29

      @고준혁 님 하나의 행이 1시간인데
      적설일 1시간이라도 기록됐으면 24개의 행 그러니까 하루를 전부 적설로 기록해야되서 그렇습니다.


  • 2024-11-08 10:44
    채택된 답변

    @3과 4사이 님 수많은 행마다 전체 열을 평가하는 게 로드가 많이 걸리므로,
    결국 하루 24시간이 온전히 확보되도록 현재 행 기준으로 앞뒤로 24행씩 48행을 점검하면 될 듯 합니다.

    AR2 =IF(COUNTIFS(OFFSET(C2,-IF(ROW()<24,23-(25-ROW()),24),0,48),C2, OFFSET(AC2,-IF(ROW()<24,23-(25-ROW()),24),0,48), "<>")>0, "적설", "")


    • 2024-11-08 11:55

      @원조백수 님 어차피 순서대로 정렬돼있으니 위아래로 2일치만 비교하는 방법이 있었군요
      offset 함수는 알고있는데 막상 쓸때되면 생각이 안나더라고요

      이유는 모르겠지만 주신건 24행에서 오류가 나더라고요

      AR2 = if( countifs( offset( C2, -24, 0, 48), C2, offset( AC2, -25, 0, 48), "<>") >0, "적설", "")
      이렇게 쓰면 25행부터 작동하고

      AR2=IF(COUNTIFS(IF(ROW()<25, OFFSET(C2, 2-ROW(),0,48), OFFSET(C2,-24,0,48)), C2, IF(ROW()<25, OFFSET(AC2, 2-ROW(),0,48),OFFSET(AC2,-24,0,48)), "<>")>0, "적설", "")

      이렇게 쓰면 나중에 알아볼 수 있을지 걱정이네요 ㅎㅎ

       

      감사합니다


      • 2024-11-08 14:32

        @3과 4사이 님 수식 수정했어요.

        =IF(COUNTIFS(OFFSET(C2,-IF(ROW()<=25,23-(25-ROW()),24),0,48),C2, OFFSET(AC2,-IF(ROW()<=25,23-(25-ROW()),24),0,48), "<>")>0, "적설", "")

         

        너무 복잡하면 쉽게...
        앞에 23줄의 빈 줄이 있다고 대세에 영향을 안 미치니까,,, 표제목 앞으로 23줄 삽입
        그리고 나면
        AR25 =IF(COUNTIFS(OFFSET(C25,-24,0,48),C25, OFFSET(AC25,-24,0,48), "<>")>0, "적설", "")


  • 2024-11-08 11:28

    @3과 4사이 님  

    저라면...... 피벗테이블이나 파워쿼리로... 룩업테이블만들겠습니다..  날짜별로 적설량 뽑아놓으면 되죠..

    (날짜열이 텍스트로 되어 있네요....... 날짜열전체 선택후, 텍스트나누기 들어갔다가-바로 나오기 하세요..)

     

     


    • 2024-11-08 11:33

      @마법의손 님 테이블로도 만들어봤는데
      적설일을 판별하고 그날의 해당 시간대의 기온이나 일사량 같은 값의 10년치 평균값을 구해야되는 뒷작업이 남아있어서
      그걸 어떻게 가져다쓰는지 모르겠더라고요 ㅎㅎ


  • 2024-11-18 09:46

    @3과 4사이 님 감사합니다~


전체 18,535
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[📚진짜쓰는 실무엑셀] IT/오피스 '1위' 베스트셀러! 엑셀 공부, 이 교재로 마스터하세요! (315)
오빠두엑셀 | 2022.02.03 | 추천 575 | 조회 610151
오빠두엑셀 2022.02.03 575 610151
공지사항 문서서식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (197)
오빠두엑셀 | 2021.10.28 | 추천 310 | 조회 35598
오빠두엑셀 2021.10.28 310 35598
78587 기능/도구
New 클립보드 오류 첨부파일
고녱 | 11:25 | 추천 0 | 조회 7
고녱 11:25 - 7
78586 함수/공식
New (초보 질문) 15분별-데이터를 1시간별-데이터로 SUMIFS 하는데, 일부 오류 발생 구간이 있습니다. 엑셀파일첨부파일 (2)
콩떡 | 09:48 | 추천 0 | 조회 22
콩떡 09:48 - 22
78584 구글시트
New 같은 값에 색으로 표시하기 첨부파일 (1)
피망이 | 09:24 | 추천 0 | 조회 31
피망이 09:24 - 31
78582 함수/공식
New 조건 함수 의 관한 문의 엑셀파일첨부파일 (6) 답변완료
예쁜나야 | 2025.05.13 | 추천 0 | 조회 76
예쁜나야 2025.05.13 - 76
78580
New 날짜와 시간 분할 방법 알려 주세요 엑셀파일첨부파일 (3) 답변완료
계양산 지기 | 2025.05.13 | 추천 0 | 조회 72
계양산 지기 2025.05.13 - 72
78575 VBA
New 엑셀 재고관리 프로그램 문의드립니다.. 첨부파일 (3)
SJ | 2025.05.13 | 추천 0 | 조회 101
SJ 2025.05.13 - 101
78570 대시보드
New 대시보드에 표 형식으로 표현도 가능한가요? 첨부파일 (2)
룰루랄라 | 2025.05.12 | 추천 0 | 조회 100
룰루랄라 2025.05.12 - 100
78569 함수/공식
New 서로 다른 양식의 견적서 엑셀 파일 한곳에 정리 하기 (5)
gh**** | 2025.05.12 | 추천 0 | 조회 119
gh**** 2025.05.12 - 119
78565 함수/공식
New 검색보고서 만들기 질문드립니다. 엑셀파일 (9) 답변완료
만식이햄 | 2025.05.12 | 추천 0 | 조회 97
만식이햄 2025.05.12 - 97
78563 VBA
New VBA 수정 부탁드립니다. ㅠ (8)
서비 | 2025.05.12 | 추천 0 | 조회 98
서비 2025.05.12 - 98
78560 함수/공식
New 어떻게 내용을 가져올수 있을지 고수님들의 해결방법들을 공유 받고 싶습니다!!.... 엑셀파일첨부파일 (2)
꾸르형 | 2025.05.12 | 추천 0 | 조회 56
꾸르형 2025.05.12 - 56
78559 파워쿼리/피벗
New 엑셀 자동화 질문 입니다... 엑셀파일 (2) 답변완료
안녕하세여11 | 2025.05.12 | 추천 0 | 조회 82
안녕하세여11 2025.05.12 - 82
78555 함수/공식
New 시트에서 원하는 열의 자료만 가져오고싶은데 아무리 해도 수식오류가 나서 도움을 구하고자 합니다 엑셀파일 (4) 답변완료
khs**** | 2025.05.12 | 추천 0 | 조회 52
khs**** 2025.05.12 - 52
78554 함수/공식
New 변동하는 절대참조값 적용 (6) 답변완료
화이또! | 2025.05.12 | 추천 0 | 조회 75
화이또! 2025.05.12 - 75
78553 대시보드
New 대시보드_슬라이서 자동으로 눌러지게 하는방법 첨부파일 (1)
검도림 | 2025.05.12 | 추천 0 | 조회 58
검도림 2025.05.12 - 58
78548 대시보드
New 어떤 엑셀을 적용해야하는 지 문의드립니다! (1)
룰루랄라 | 2025.05.11 | 추천 0 | 조회 77
룰루랄라 2025.05.11 - 77
78546 함수/공식
New 월별 매출액 자동입력할 수 있는 방법 또는 함수 궁금합니다! 엑셀파일 (2)
mmm1010 | 2025.05.11 | 추천 0 | 조회 100
mmm1010 2025.05.11 - 100
78544 함수/공식
New 중복값 제거 함수에 관하여 엑셀파일첨부파일 (1) 답변완료
김지훈(Derek) | 2025.05.11 | 추천 0 | 조회 86
김지훈(Derek) 2025.05.11 - 86
78543 함수/공식
New 데이터 추출 및 정렬관련 초보질문 엑셀파일첨부파일 (5) 답변완료
김지훈(Derek) | 2025.05.11 | 추천 0 | 조회 83
김지훈(Derek) 2025.05.11 - 83
78540 함수/공식
New 오빠두LIVE 219회 - 엑셀 '셀 병합' 자동화 보고서 만들기 오빠두엑셀님의 방법이 궁금합니다. 첨부파일
AURIC | 2025.05.10 | 추천 0 | 조회 69
AURIC 2025.05.10 - 69
78536 함수/공식
New 월별로 금액적용후 최종월에 차액을 가감 함수가 필요해요 엑셀파일 (1) 답변완료
낮은자 | 2025.05.10 | 추천 0 | 조회 72
낮은자 2025.05.10 - 72
78535 기능/도구
New 엑셀로 25x25 인쇄가 가능한가요? (1)
망나 | 2025.05.10 | 추천 0 | 조회 57
망나 2025.05.10 - 57
78534 파워쿼리/피벗
New 쿼리에 함수 적용한 열 추가 시 24:00:00 활용한 계산 함수 필요할 때. 첨부파일 (2) 답변완료
신노스케 | 2025.05.10 | 추천 0 | 조회 74
신노스케 2025.05.10 - 74
78531 차트/그래프
New 엑셀 차트 데이터테이블 엑셀파일첨부파일 (1)
| 2025.05.09 | 추천 0 | 조회 84
2025.05.09 - 84
78530 구글시트
New 구글 스프레드시트 함수 관련 질문입니다. 엑셀파일첨부파일 (2)
동그이 | 2025.05.09 | 추천 0 | 조회 73
동그이 2025.05.09 - 73
78528 구글시트
New 구글 스프레드시트를 외부 엑셀 파일과 연동하는 방법이 궁금합니다. (3)
머우터덩 | 2025.05.09 | 추천 0 | 조회 77
머우터덩 2025.05.09 - 77
78525 문서서식
New 업무가 진행이 안 될 정도로, 해당 파일이 느립니다! 엑셀파일 (2)
빌스택스 | 2025.05.09 | 추천 0 | 조회 103
빌스택스 2025.05.09 - 103
78520 기능/도구
New 하이퍼링크 명칭 해제 (1)
min | 2025.05.09 | 추천 0 | 조회 61
min 2025.05.09 - 61
78518 피벗테이블
New 피벗테이블 관련 화살표 질문 첨부파일
이모비니 | 2025.05.09 | 추천 0 | 조회 57
이모비니 2025.05.09 - 57
78516 함수/공식
New 호봉산정 엑셀 문의드립니다. 엑셀파일첨부파일 (2) 답변완료
아르카디안 | 2025.05.08 | 추천 0 | 조회 68
아르카디안 2025.05.08 - 68