@원조백수 님
네 그런 전략입니다 많이 가진 놈은 하나 더 있으나 없으나 별차이 없으니까요^^
2025.08.11
좋아요
찬바람Lv.19
과연 수식만으로 맞출 방법이 있을까요? 어딘가에서는 남는 값이나 부족한 값을 보정해주는 곳이 있어야 총합을 맞출 수 있을 것 같습니다. 회계같은 곳에서 지정한 단위에서 절사를 해버리고 기타 수입으로 잡거나 하듯이 오차를 흡수할 방법이 필요해보입니다.
2025.08.11
좋아요
원조백수Lv.30작성자
@찬바람 님
아이디어만 맞으면 수식은 구현이 가능하지 않을까요?
2025.08.11
좋아요
찬바람Lv.19
@원조백수 님
저는 365가 없어서 구버전에 막고 품는식으로 해봤습니다. 보조테이블을 두 개를 사용했는데, 하나는 동일 수량일 경우 가중치를 두기 위한 것이고, (=C12+(ROW(A1)*10+COLUMN(A1))/100) 다른 하나는 그 가중치를 기준으로 수량이 부족하거나 남을 경우 많은 수량에서 보정하도록 했습니다.=IF(RANK(E23,$C$20:$G$23)<=ABS($H$16-$D$1),E15-($H$16-$D$1)/ABS($H$16-$D$1),E15)
2025.08.11
좋아요
원조백수Lv.30작성자
@찬바람 님
같은 아이디어로, Rank를 이용해서 큰놈을 가려낸 좋은 방법이네요.
2025.08.11
좋아요
더블유에이Lv.30
예전에 제가 했던 작업 중 하나랑 비슷한 것 같습니다. 물건 100개를 받으면 등급별로 업체마다 배분율에 맞춰서 등급마다 팔렛을 나눠줘야 하는데, 이게 정수로 딱 맞게 떨어지지 않다보니 수기작업이 반드시 필요했습니다. 기준이 도입되기 전에는 solver로 최대한 정수치에 가깝게 우선 맞추고 마지막 1개 업체에서 +1, -1로 잔량을 맞췄는데, 문제는 수량이 9999개일 땐 +-1 오차가 허용 가능한 범위지만, 수량이 99개일때 +-1 오차는 클 수도 있었습니다. (마지막 업체가 수량이 작을수록 오차범위 증가) 그래서 그 당시 최종 해결했던 건, 비율이 가장 낮은 항목부터 반올림으로 정수 분배를 먼저하고, 비율이 가장 높은 값에서 잔량을 조절하는 방식으로 툴을 만든 기억이 있습니다.
=LET( data, ROUND(C5:G8*D1, 0), over, $D$1 - SUM(data), sdata, SORT(HSTACK(SEQUENCE(COUNTA(data)), TOCOL(data)), 2, -1), seq, EXPAND(SIGN(over) * SEQUENCE(ABS(over), , 1, 0), COUNTA(data), 1, 0), IF(over=0, data, WRAPROWS(SORTBY(INDEX(sdata,,2) + seq, INDEX(sdata,,1)), 5) ) )Over=0 처리를 빼먹었었네요할당량이 큰 놈이 여유가 더 있으므로, 큰 순서대로 총액차이 순위만 1씩 조정.
실제 업무를 하다보면 이런 경우가 종종 있어서 다른 분들은 어떤 전략으로 하시는지 궁금해서 올려 봤습니다.
어딘가에서는 남는 값이나 부족한 값을 보정해주는 곳이 있어야 총합을 맞출 수 있을 것 같습니다.
회계같은 곳에서 지정한 단위에서 절사를 해버리고 기타 수입으로 잡거나 하듯이 오차를 흡수할 방법이 필요해보입니다.
보조테이블을 두 개를 사용했는데, 하나는 동일 수량일 경우 가중치를 두기 위한 것이고,
(=C12+(ROW(A1)*10+COLUMN(A1))/100)
다른 하나는 그 가중치를 기준으로 수량이 부족하거나 남을 경우 많은 수량에서 보정하도록 했습니다.=IF(RANK(E23,$C$20:$G$23)<=ABS($H$16-$D$1),E15-($H$16-$D$1)/ABS($H$16-$D$1),E15)
물건 100개를 받으면 등급별로 업체마다 배분율에 맞춰서 등급마다 팔렛을 나눠줘야 하는데, 이게 정수로 딱 맞게 떨어지지 않다보니 수기작업이 반드시 필요했습니다.
기준이 도입되기 전에는 solver로 최대한 정수치에 가깝게 우선 맞추고 마지막 1개 업체에서 +1, -1로 잔량을 맞췄는데, 문제는 수량이 9999개일 땐 +-1 오차가 허용 가능한 범위지만, 수량이 99개일때 +-1 오차는 클 수도 있었습니다. (마지막 업체가 수량이 작을수록 오차범위 증가)
그래서 그 당시 최종 해결했던 건, 비율이 가장 낮은 항목부터 반올림으로 정수 분배를 먼저하고, 비율이 가장 높은 값에서 잔량을 조절하는 방식으로 툴을 만든 기억이 있습니다.