2011-09-29 2 views
3

나는 열이 Excel에서 테이블이 이 표는 사람들이 저에게 돈을 지불 할 때 기록하는 데 사용됩니다. 일반적으로 같은 날에 한 명 이상의 사람에게 돈을 지불 할 수 있습니다. 또한 같은 사람이 여러 날 동안 나를 지불 할 것입니다.조건을 가진 열에서 새로운 가치를 얻을하는 방법

레코드는 테이블의 맨 아래에 추가되므로 주문은 날짜가되지만 이름이나 금액은 더 이상 주문하지 않습니다.

수식을 사용하면 특정 사용자의 최신 금액을 검색 할 수있는 방법이 있습니까?

이 작업이 너무 복잡하거나 불가능한 경우 다음 작업을 수행 할 수 있습니다. "마지막"테이블에 4 번째 열을 추가하십시오. 특정 사용자의 마지막 항목 인 경우 TRUE를 표시하고 그렇지 않은 경우 FALSE를 표시합니다.

답변

2

촬영에 솔루션을했다하지만 난 그게 그렇게 관심 아마추어 꽤 머리를 발견 대답을 구하십시오.

Google 검색을 완료하면 전용 엑셀 사이트 (view here)에 게시 된 솔루션을 발견했습니다.

을 : 데이터가 당신의 이름을 입력하고 세포 D3에서 가장 최근의 지불을 반환 할 D2 A1:C10과 세포에있는 가정, 귀하의 예제에 적용

- [NB는 헤더 '임의 조회'항목을 찾아] 셀에

1 Date Name Amt EnterName 
2 20 Jul Bob  50  <enter name here> 
3 13 Sep Susan 20  = enter formula here (see below) 
4 06 Jan Xavier 100 

D3 제 (배열 수식으로 다음의 식, 즉 타입을 입력 한 후 눌러 CTRL + + SHIFTENTER

=INDEX($B$2:$C$10,SMALL(IF(OFFSET($B$2:$C$10,0,0,ROWS($B$2:$C$10),1)=$D$2, ROW(OFFSET($B$2:$C$10,0,0,ROWS($B$2:$C$10),1))-ROW(OFFSET($B$2:$C$10,0,0,1,1))+1, ROW(OFFSET($B$2:$C$10,ROWS($B$2:$C$10)-1,0,1,1))+1),COUNTIF(OFFSET($B$2:$C$10,0,0,ROWS($B$2:$C$10),1),$D$2)),2) 

자세한 내용을 원하시면 제공된 링크를 확인하시기 바랍니다. 명확성을 위해 제공된 링크에서 수식 (변경된 셀 참조)을 적용했습니다.

+0

이것은 대우를받으며 훌륭합니다. 나는이 복잡한 공식이 필요하다는 것에 놀랐다. 나는 Excel이 단지 모든 마법을 수행하는 모호한 단일 기능을 갖기를 바랬다. – millie

+0

@ user691226 - 수식이 복잡하다는 데 동의합니다. 그 이유 때문에 나는 그의 해결책이 훨씬 간결하고, 내가 한 테스트에서 똑같이 잘 작동하기 때문에'Excell'을 upvote (아래 참조)라고했다. –

1

단 하나의 수식만으로 쉬운 방법을 찾을 수 없습니다.

데이터가 A2에서 C11 인 경우
를 입력 -가 시프트 -

{=MAX(IF($B$2:$B$11=B2,$A$2:$A$11,0))} 

이것은 당신이 Ctrl 키으로 확인해야 array formula입니다 :
당신은 (셀 D2에 가정 해 봅시다) 4 열이 공식을 추가 할 수 있습니다 이것은 현재 사용자의 최종 날짜가 인 것을 알려줍니다.

그리고 (셀 E2에 가정 해 봅시다) 다른 열로 마지막으로 양을 찾아 공식 사용

=INDEX($C$2:$C$11,MATCH(D2,$A$2:$A$11,0)) 
난 그냥 하나에 수식을 결합하려고했습니다 [편집]

및 그 단순히 작동합니다 :

{=INDEX($C$2:$C$11,MATCH(MAX(IF($B$2:$B$11=B2,$A$2:$A$11,0)),$A$2:$A$11,0))} 

이것은 여전히 ​​배열 수식입니다.

아아는 @Excellll 똑똑했다 (빠르게) 먼저 그것은이에 상당히 솔직 대답이 있어야합니다 같은 느낌

+0

소품 JMax에게 감사드립니다. 동일한 날짜의 행이 여러 개있는 경우 MATCH 수식의 두 번째 IF 문이 필요하다는 경고를해야합니다. 그렇지 않으면 원하는 날짜가 될 수도 있고 아닐 수도 있습니다. – Excellll

+0

@Excellll : 정정 해 주셔서 감사합니다. – JMax

2

여기에 제공된 대답을 기반으로하는 방법 중 하나는 a previous SO post입니다.

=INDEX($C$1:$C$19,MATCH(MAX(IF($B$1:$B$19="PersonNameHere",$A$1:$A$19,0)),IF($B$1:$B$19="PersonNameHere",$A$1:$A$19,""))) 

여기서 A는 날짜 열이고 B는 사람 이름 열이고 C는 금액 열입니다. Ctrl + Shift + Enter를 눌러 배열 수식으로 입력해야합니다.

+0

몇 가지 샘플 데이터에서 공식을 시도했지만 잘 작동했습니다. 잘 했어 –

관련 문제