2013-12-10 3 views
0

시트의 두 열 중 하나에서 사용자 입력을 허용하는 Excel 스프레드 시트를 만들어야합니다. 수동 입력이없는 열은 값을 계산해야합니다. 설명하기 위해이 그림에순환 Excel 수식

enter image description here

를 세 개의 열 사이의 관계가있다. 총 가격 = (가격/단위) * (단위 계산). 내 스프레드 시트의

사용자는 두 가지 중 하나를 수행합니다. "가격/단위"그들은 수동으로 값을 입력합니다

  1. 이 경우 "총 가격"을 계산해야합니다 (가격/단가 * 단위 수).
  2. 그들은 "Total Price"값을 수동으로 입력합니다.이 경우 가격/단위를 계산해야합니다 (총 가격/단위 수).

사용할 수있는 수식이 있습니까? 어쩌면 "If-C1-is-a-formula"함수? 나는 이것이 불가능하다고 생각하고있다.

편집 : 매크로는 나를 위해 필요 없습니다. 더 일찍 언급하지 않아서 미안해. Java를 통해 Apache POI (doesn't allow for the creation of macros)를 통해이를 개발할 것입니다.

+0

이벤트 처리기가 필요합니다. 매크로는 쉬울 것입니다. –

+0

Excel 2013에는 참조하는 셀의 수식을 반환하는 'FormulaText'라는 새 함수가 있습니다. 그러나 나는이 작업을 VBA 코드와 함께 수행해야한다는 것에 동의합니다. – jgridley

답변

3

매크로 옵션을 선택하지 않은 경우, 다음과 같이, 약간 다른 설정이 필요합니다.

왼쪽에 tigeravatar non-circular method

, 사용자는 채 웁니다 것입니다 그들은 Unit Count를 입력하고 Price을 입력 한 다음 C 열에서 $F$1:$G$1 (가격/단위, 총 가격)을 가리키는 유효성 검사 드롭 다운 목록 인 Price Type을 선택합니다. 가격 유형을 선택하면 수식을 사용하여 표가 자동으로 적절하게 채워집니다. E2 셀에

아래로 복사 (단위 개수) :

=IF(A2="","",A2) 
F2 셀에서

아래로 복사 (가격/단위) : 세포 G2에서

=IF(COUNTBLANK(A2:C2)>0,"",IF(C2=F$1,B2,B2/A2)) 

아래로 복사 (총 가격) :

=IF(COUNTBLANK(A2:C2)>0,"",IF(C2=G$1,B2,B2*A2)) 

그런 다음 열 F와 G를 원하는대로 포맷 할 수 있습니다 (이 경우 currenc y 또는 회계).

또한 결과 테이블이 다른 시트에있을 수도 있음을 언급해야합니다. 데이터 유효성 검사 드롭 다운 목록에 이름이 지정된 범위를 사용해야하거나 두 가지 옵션 만 하드 코딩하면됩니다.

+1

조건부 서식을 만들 수있는 경우 왼쪽의 가격 유형을 색으로 코딩하고 오른쪽에 계산 된 필드를 강조 표시하여이 솔루션을 매우 사용자가 읽을 수있게 만들 수 있습니다.유용성을 위해 드롭 다운 목록 (데이터 유효성 검사)이 사용자에게 도움이 될 수 있습니다. – smcjones

+0

그것은 아주 좋은 제안입니다! 조건부 서식을 사용하여 계산 된 필드를 강조하는 아이디어를 정말 좋아합니다. – tigeravatar

+0

고객의 요구로 인해 스프레드 시트에서 작동하지 않겠지 만 답변이 정확하기 때문에 감사하겠습니다. 감사. – ryvantage