2013-08-29 2 views
-2

첫 번째 열에 숫자 목록이 있습니다. 첫 번째 열의 숫자를 기준으로 각 행에 다른 번호를 지정하고 싶습니다. 예를 들어 셀 A2의 값이 1300보다 크고 1400보다 작 으면 B2에서 셀을 6.75으로 표시합니다.데이터를 비닝하는 IF 문

  • A1의 값이 1350이면 B1은 "6.75"값으로 업데이트됩니다.
  • A1의 값이 1450이면 B1은 "7.25"값으로 업데이트됩니다.

    < 1300> 1400 = 6.75
    < 1400> 1500 = 7.25
    < 1500> 1600 = 7.75
    < 1600> 1700 = 8.25
    :

는 내가 필요로하는 17 개 그룹을있다 . . .
2900보다 큰 = 14.75

스프레드 시트의 첫 번째 열에 여러 값을 가질 수 있으므로 몇 가지 수식을 사용하여 그룹화 버킷에 넣어야합니다.

아이디어가 있으십니까? 그렇지 않으면, 고정 된 결과를 제공하기 위해 먼저 너무 낮고, 너무 높은 값을 확인 환언

=if(a1<1300, 0, if(a1>=2900, 14.75, (trunc(a1/100, 0) - 13) * 0.5 + 6.75)) 

:

+1

어떤 값을 어디에 쓸 것인지, 어떤 값을 같게 할 것인지 명확하지 않습니다 (예 : 1500. – pnuts

+0

user2727573). 첫 번째 단락과 관련하여 글 머리 기호를 업데이트했습니다. 그게 당신이 원하는 것임을 확인해 주시겠습니까? 그렇지 않으면 설명을 추가해야합니다. – paxdiablo

답변

1

그런 간단한 선형 관계를 들어, 라인을 따라 수식을 사용할 수도 최종 수식을 사용하여 원하는 숫자로 변환하십시오.

이 100로 나누어이 0.56.25 및 염기를 첨가하여 8.75를 얻을 수 있음을 곱한 4 얻을 13 감산, 172717으로 (예를 들면)으로 변경하는 것을 포함한다.

당신이 요청했습니다 무엇을 줄 것이다 :

 x < 1300: 0.00 
1300 <= x < 1400: 6.75 
1400 <= x < 1500: 7.25 
1500 <= x < 1600: 7.75 
1600 <= x < 1700: 8.25 
1700 <= x < 1800: 8.75 
1800 <= x < 1900: 9.25 
1900 <= x < 2000: 9.75 
2000 <= x < 2100: 10.25 
2100 <= x < 2200: 10.75 
2200 <= x < 2300: 11.25 
2300 <= x < 2400: 11.75 
2400 <= x < 2500: 12.25 
2500 <= x < 2600: 12.75 
2600 <= x < 2700: 13.25 
2700 <= x < 2800: 13.75 
2800 <= x < 2900: 14.25 
2900 <= x  : 14.75 

당신은 가장자리의 경우 보여주는, 다음 스크린 샷에서 행동에 그것을 볼 수 있습니다 : enter image description here


주를이 당신은 1400과 같은 숫자에 대한 설명에 문제가 있습니다. 왜냐하면 당신은 어떤 범위를 떨어 뜨려야 하는지를 지정하지 않기 때문입니다. 위에서 주어진 수식의 경우, 범위는 로우 엔드에서 하이 엔드에만 포함됩니다 (예 : 1300..1399.9999). 관계가 (또는, 더 정확하게, 정형화) 그래서 선형이 아닌 경우


, 당신은 아마 pnuts하여 우수한 제안에 따라 룩업 테이블의 사용을 고려해야합니다.

+0

숫자가 1400 인 것은 아닙니다. 한편으로는 "A1에 값이 있고 ... 그 다음 A2"이면 "A2에 값이 있습니다 ... B2에 있습니다"라고 표시됩니다. – pnuts

+0

'@ '는 무엇입니까? –

+1

@pnuts, 나는 그 질문이 내부적으로 일관 적이 지 않았기 때문에, 혼란스러운 질문, 행/열의 전치에 대해 설명하려고합니다. OP로부터의 명확한 설명을 요청했으나 내가 대답 한 방식이 가장 가능성있는 시나리오 인 것 같습니다. – paxdiablo

1

=VLOOKUP(A3,bArray,2)과 같은 것이 적합합니다. bArray은 중단 점의 두 열 목록에 대한 이름이고 각 중단 점까지의 값입니다.

SO18501453 example

브레이크 포인트는 실제로 필요 어떤에 맞게 약간의 조정이 필요할 수 있습니다.

+0

왜 2900이 9.75를 생성했는지 물어 보려고했지만 아마도 범위가 잘못 구성되었을 수 있습니다). 어쨌든, 이제는 고쳐져 내 질문이 옳지 않습니다. 외부 범위의 경우 룩업을 시도하기 전에 if 함수를 사용하여 la = = if (a1 <1300,0, if (a1> = 2900,14.75, vlookup (...))) . – paxdiablo

+0

... 아니면'bArray'에'0' 검색 값을 추가하십시오. '> = 2900' 조건은'vlookup '이 작동하는 방식으로 이미 처리되고 있으며,'IF '조건에서 중첩하지 않아도됩니다. 나는 명시 적으로'VLOOKUP (__, bArray, 2, TRUE)'를 할 것이다. –

+0

@paxdiablo 범위에 대한 가정은 정확합니다. 즉, 질문을 친절하게 편집 한 후에 예제가 아닌 전체 테이블을 게시하기로 결정했습니다. 나는 질문이 1300 년경에 침묵했기 때문에 의도적으로'0'을 그만 뒀지 만, 나는 그것을위한 공간을 남겼다! – pnuts