숫자 열(A1:A100이라고 가정)이 있고 합계가 특정 합계가 되는 하위 집합을 찾아야 합니다.
답변1
Solver 추가 기능*을 사용하면 가능합니다. 다음 단계는 Excel 2007 및 2010에서 효과적이었습니다.
- 결과를 저장할 셀을 지정합니다(이 예에서는 C1). 이는 대상 셀이고 Excel에서 스크래치 작업에 사용할 수 있는 열(이 예에서는 B1:B100)
- 대상 셀에 "=SUMPRODUCT(A1:A100,B1:B100)" 수식을 입력합니다(따옴표 없음). 그러면 A1*B1+A2*B2+...etc의 합계가 계산됩니다.
- 솔버 열기(데이터 탭, 분석 그룹)를 선택합니다.
- 대상 셀은 명확해야 합니다(이 예에서는 $C$1).
- '같음:'에 대해 '값:'을 선택하고 원하는 값을 입력합니다.
- '셀 변경'에 "$B$1:$B$100"을 입력합니다(따옴표는 사용하지 않으며 이 값을 직접 0으로 초기화해야 할 수도 있음).
- 변경할 수 있는 셀에 제약 조건을 추가합니다. 풀다운에서 'bin'(바이너리)을 선택합니다. 이는 이러한 셀의 값을 0(합계에서 해당 A 셀 제거) 또는 1(합계에 해당 A 셀 추가)로 제한합니다.
- '해결'을 클릭하고 기다리세요. 찾고 있는 하위 집합의 일부인 숫자는 B 열에 1이 있습니다.
솔버에 오랜 시간이 걸리는 경우 분명히 작동하지 않는 행을 제거하여 문제를 해결할 수 있습니다. (총액은 달러 단위이고 한 행에만 0이 아닌 센트가 있습니다.)
보너스: 해당 셀에 조건부 서식을 추가하여 Excel에서 찾고 있는 셀을 자동으로 강조 표시하도록 할 수 있습니다. 서식을 지정할 셀을 모두 선택하고 (홈 탭)>>(스타일 그룹)>>조건부 서식>>새 규칙에서 '수식을 사용하여 서식을 지정할 셀 결정'을 선택합니다. 수식에 '=$B1=1'(따옴표 없음)을 입력하면 B 열의 해당 행이 1인 경우 true로 평가됩니다. 형식의 경우 원하는 모든 항목(굵게, 기울임꼴, 녹색 채우기, 등).
중요한 행을 찾는 또 다른 쉬운 방법은 열 B Z-> A를 정렬하는 것입니다. 그러면 모든 1이 맨 위에 표시됩니다.
*솔버 애드인은 다음 단계에 따라 설치할 수 있습니다.
- Microsoft Office 단추를 클릭한 다음 Excel 옵션을 클릭합니다.
- 추가 기능을 클릭한 다음 관리 상자에서 Excel 추가 기능을 선택합니다.
- 이동을 클릭하세요.
- 사용 가능한 추가 기능 상자에서 해 찾기 추가 기능 확인란을 선택한 다음 확인을 클릭합니다. (사용 가능한 추가 기능 상자에 해 찾기 추가 기능이 나열되지 않은 경우 찾아보기를 클릭하여 추가 기능을 찾으십시오.)
- 현재 컴퓨터에 Solver 추가 기능이 설치되어 있지 않다는 메시지가 나타나면 예를 클릭하여 설치하세요.
답변2
저렴한 Excel 추가 기능이 있습니다.합계 일치, 목표 합계에 추가되는 숫자의 하위 집합을 강조 표시합니다.