중첩 된 IF가없는 Excel 찾기 버킷


0

예를 들어 다음과 같이 카테고리별로 데이터를 분리해야합니다.

Category    Minimum    Maximum
   A         -100        -20
   B         -20          0
   C           0         +20
   D         +20         +100

따라서 하나의 데이터 포인트가 -50이면 카테고리 A에 속합니다.

한 가지 해결책은 중첩 IF를 사용하는 것입니다.

=IF(A1<-20,"A",IF(A1<0,"B",IF(A1<20,"C","D")))

그러나 카테고리 수가 증가하면 카테고리가 상당히 지저분 해집니다. 같은 것을 달성하는 더 좋은 방법이 있습니까?

답변:


1

Y2 : Y10에 범주가 있고 Z2 : Z10에 최소값이있는 표 (20은 +20이 아니고 모든 양수는 유사 함)를 가정하면 LOOKUP 수식을 사용할 수 있습니다

=LOOKUP(A1,Y$2:Y$10,Z$2:Z$10)

범위에 차이가 없다고 가정합니다. 즉, 각 범주의 최대 값은 다음 최소값 바로 아래에있는 것으로 사실상 가정됩니다.


수식에서 두 가지 범위를 반전 =LOOKUP(A1,Z2:Z10,Y2,Y10)시켰습니다. 그렇지 않으면 제대로 작동합니다. 감사합니다.
assylias

그렇습니다, 사과드립니다.
barry houdini

0

다른 솔루션은 명명 된 범위를 사용하는 것일 수 있습니다.

귀하의 예를 다음과 같이 수정하겠습니다.

Category    Minimum    Maximum
Cat_A         -100        -20
Cat_B         -20          0
Cat_C           0         +20
Cat_D         +20         +100

그런 다음 Cat_A에서 +100까지의 데이터를 표시하고 Make from selection( 왼쪽 열에서 make 공식 탭, 섹션 정의 이름 )을 사용하십시오 .

조건부 서식, unsing Min(Cat_A)Max(Cat_A)제한을 위해 통합 문서에서 사용할 수있는 Cat_A, Cat_B, Cat_C 및 Cat_D라는 4 개의 명명 된 범위 가 제공됩니다.

그러나이 솔루션은 배리 후디니 중 하나에 대한 확장입니다.


0

동일한 데이터 버킷에이 트릭을 사용합니다. A1:A100범위 내에 데이터가 있다고 가정하십시오 . 이 공식을 B1에 넣으십시오.

=MAX(ROUNDUP(PERCENTRANK($A$1:$A$100,A1) *4,0),1)

B 열 전체에 수식을 작성하면 완료됩니다. 수식은 범위를 4 개의 동일한 버킷으로 나누고 셀 A1이 속하는 버킷 번호를 반환합니다. 첫 번째 버킷에는 가장 낮은 값의 25 %가 포함됩니다.

원하는대로 버킷 수를 조정하십시오.

=MAX(ROUNDUP(PERCENTRANK([Range],[OneCellOfTheRange]) *[NumberOfBuckets],0),1)

장점
이 솔루션의 장점은 각 버킷의 최소 및 최대에 대해 걱정할 필요가 없다는 것입니다. 최소 및 최대 매개 변수는 각 버킷에서 동일한 수의 관찰을 유지하면서 신비하게 조정 됩니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.