[긴급]Excel도사 계시면 도와주십시요.
- [서경]M실장
- 2169
- 21
excel의 함수중에서 VLOOKUP이라는 함수가 있습니다.
data를 검색하는 함수인데, 여러셀의 값을 조합하여
하나의 값을 만들고 그 값을 찾을때, 두개의 셀을 합쳐(concatenate)결과를
찾을 방법은 없는건가요?
excel잘 하시는분 도와주시길...
data를 검색하는 함수인데, 여러셀의 값을 조합하여
하나의 값을 만들고 그 값을 찾을때, 두개의 셀을 합쳐(concatenate)결과를
찾을 방법은 없는건가요?
excel잘 하시는분 도와주시길...
댓글 21
스포넷은 자동 등업 시스템입니다. 가입후 가입인사 게시판과 출고신고 게시판에 인사 남겨주세요. 함께 환영 댓글 다시면 어느새 등급이 올라갈겁니다. ^0^
vlookup 에 대해서 물어 보시는건지 아니면 다른 함수를 원하시는건지요..??
dma....도망가야지 ....(푹!!!!) =333=33=33=3
예제를 올리심이 질문내용만으로는 오히려 헷갈립니다 - . -
vlookup에 대한 문제입니다.
예,
a b c
1 홍길동 21세 100,000원
2 홍길동 25세 200,000원
홍길동(a2) 25세(b2)의 금액이 200,000원이라는 것을 찾아내는 함수?
=vlookup(concatenate("홍길동","25세"), a1:c2, 2, FALSE)
라고 하면 안되죠.
이걸 찾는 방법은 없을까요?
예,
a b c
1 홍길동 21세 100,000원
2 홍길동 25세 200,000원
홍길동(a2) 25세(b2)의 금액이 200,000원이라는 것을 찾아내는 함수?
=vlookup(concatenate("홍길동","25세"), a1:c2, 2, FALSE)
라고 하면 안되죠.
이걸 찾는 방법은 없을까요?
a1, a2 ==> 홍길동
b1 ==> 21세
b2 ==> 25세
c1 ==> 100,000원
c2 ==> 200,000원입니다.
b1 ==> 21세
b2 ==> 25세
c1 ==> 100,000원
c2 ==> 200,000원입니다.
vlookup이나 다른함수를 이용해서 ..
즉, '홍길동, 25세의 값은 200,000이다' 를 구하는 겁니다.
여기서 홍길동과 25세는 다른sheet에 있는 값을 의미합니다.
쉬운 설명을 위해 한 sheet에 있는것을 가정하였습니다.
즉, '홍길동, 25세의 값은 200,000이다' 를 구하는 겁니다.
여기서 홍길동과 25세는 다른sheet에 있는 값을 의미합니다.
쉬운 설명을 위해 한 sheet에 있는것을 가정하였습니다.
Vlookup 함수의 참조영역에서 데이터를 구별하는 값(여기서는 홍길동)에 만약 중복이 있을 시 원하는 값(홍길동 25세의 금액20만원)을 찾아내는 함수를 물어보시는 거군요.
아마 Vlookup함수를 쓰심 홍길동 21세의 값 10만원이 나오겠죠? 홍길동 21세의 값이 먼저나오니...(위에서 부터 순서대로 찾습니다)
그건 Vlookup함수로는 힘들텐데요..... 원래 찾는 값이 하나만 있어야 하는데.....
보통 동명이인이 있을때는 주민등록번호를 찾거나 하는데...
문자열 함수중에서 같은값의 두번째를 찾는 함수가 있을라나... 있어도 Vlookup을 사용시에 각각의 값이 몇번째값인지를 함수에 표시를 해줘야 하는데.....
제 생각에는 Vlookup함수를 쓸때 중복가능성이 있는 함수를 참조영역으로 쓰는건 아무래도 힘들꺼 같습니다.
아마 Vlookup함수를 쓰심 홍길동 21세의 값 10만원이 나오겠죠? 홍길동 21세의 값이 먼저나오니...(위에서 부터 순서대로 찾습니다)
그건 Vlookup함수로는 힘들텐데요..... 원래 찾는 값이 하나만 있어야 하는데.....
보통 동명이인이 있을때는 주민등록번호를 찾거나 하는데...
문자열 함수중에서 같은값의 두번째를 찾는 함수가 있을라나... 있어도 Vlookup을 사용시에 각각의 값이 몇번째값인지를 함수에 표시를 해줘야 하는데.....
제 생각에는 Vlookup함수를 쓸때 중복가능성이 있는 함수를 참조영역으로 쓰는건 아무래도 힘들꺼 같습니다.
[서경] Oooops님의 말씀대로라면..
VLOOKUP이라는 함수는 안 쓴다하더라도 / 다른 방법이 있는거 아닙니까?
다른 방법이 있다면 어떤게 있을까요?
VLOOKUP이라는 함수는 안 쓴다하더라도 / 다른 방법이 있는거 아닙니까?
다른 방법이 있다면 어떤게 있을까요?
vlookup으로는 두개의 조건을 만족하는 값을 찾기가 어려울것 같은데요..
거기다가 시트마저 다르다면 대략 난감하네요.
한시트에서 복수조건을 찾기만 한다면 고급필터를 사용하는게 좋은데,
이건 vba로 코딩할 수 밖에 없을듯합니다.
거기다가 시트마저 다르다면 대략 난감하네요.
한시트에서 복수조건을 찾기만 한다면 고급필터를 사용하는게 좋은데,
이건 vba로 코딩할 수 밖에 없을듯합니다.
특정필드 예를들면 D열에 concatenate(a1,b1) 함수로 A열과 B열을 합친후에
vlookup함수를 사용하시면 될 듯 한데요..
vlookup함수를 사용하시면 될 듯 한데요..
고급필터는 sheet상에서 정열해서 눈으로 볼 뿐이지 / 그 결과를 다른 sheet로 옮길 수 있는게 아니므로..
의미가 없습니다.
의미가 없습니다.
저도 일단은 a와b필드를 특정 필드에 합쳐놓고 그 뒤의 금액을 붙여 넣은다음에 vlookup을 사용하면 되지 않을까요?
이론 보다는 현장 스탈이라 실데이터가 있으면 좀더 쉬울듯...ㅋㅋ
두개 쉬트를 어떠한 조건으로 묶을 수 있는지가 중요하겠네요!
이론 보다는 현장 스탈이라 실데이터가 있으면 좀더 쉬울듯...ㅋㅋ
두개 쉬트를 어떠한 조건으로 묶을 수 있는지가 중요하겠네요!
vba를 쓰시면 간단한데요..
데이타가 많아지면 꿀꿀해지겠지만..
일단 생각나는데로 적어볼께요..
--------------------------------
Sub interneeds()
Dim total, i, j, k As Double
Dim data(3)
Dim search(3)
total = 100
search(1) = Sheets("Sheet1").Range("e1")
search(2) = Sheets("Sheet1").Range("f1")
search(3) = Sheets("Sheet1").Range("g1")
For i = 1 To total
For j = 1 To 3
data(j) = Sheets("Sheet1").Cells(i, j)
Next j
If data(1) = search(1) And data(2) = search(2) And data(3) = search(3) Then GoTo a
GoTo aa
a:
k = k + 1
For j = 1 To 3
Sheets("Sheet1").Cells(k, j + 8).Value = data(j)
Next j
aa:
Next i
End Sub
--------------------------------
여기에서 total은 count나 counta로 처리하시면 되고..
데이타뽑아올 시트와 출력시트는 Sheets("Sheet1") 이부분에서만 처리해주시면 될듯..
질문하시는것이 이것이 맞는지는 의문이 들기도 하네요..
데이타가 많아지면 꿀꿀해지겠지만..
일단 생각나는데로 적어볼께요..
--------------------------------
Sub interneeds()
Dim total, i, j, k As Double
Dim data(3)
Dim search(3)
total = 100
search(1) = Sheets("Sheet1").Range("e1")
search(2) = Sheets("Sheet1").Range("f1")
search(3) = Sheets("Sheet1").Range("g1")
For i = 1 To total
For j = 1 To 3
data(j) = Sheets("Sheet1").Cells(i, j)
Next j
If data(1) = search(1) And data(2) = search(2) And data(3) = search(3) Then GoTo a
GoTo aa
a:
k = k + 1
For j = 1 To 3
Sheets("Sheet1").Cells(k, j + 8).Value = data(j)
Next j
aa:
Next i
End Sub
--------------------------------
여기에서 total은 count나 counta로 처리하시면 되고..
데이타뽑아올 시트와 출력시트는 Sheets("Sheet1") 이부분에서만 처리해주시면 될듯..
질문하시는것이 이것이 맞는지는 의문이 들기도 하네요..
엑셀고수분들 많으시다 뜨아~
배열수식을 쓰면 될것같아요^^
=sum((a1:a2="홍길동")*(b1:b2="21세")*(c1:c2))....이렇게 입력한 상태에서 "enter "키를 누르는게 아니라..."ctrl + shift + enter" 키를 동시에 눌러주세요~
=sum((a1:a2="홍길동")*(b1:b2="21세")*(c1:c2))....이렇게 입력한 상태에서 "enter "키를 누르는게 아니라..."ctrl + shift + enter" 키를 동시에 눌러주세요~
위식의 의미는....다음과 같습니다
a열이 홍길동이라는 조건에 맞으면 1, 아니면 0
b열이 21세라는 조건에 맞으면 1, 아니면 0
c열은 조건이 아니라 그 금액 그대로
한행마다 위의 세개를 계산해서...나온숫자를 다 곱해주고(셋중에 하나라도 0이면 그 행의 값은 0가 되겠죠),
모든행을 계산한다음에는 각 행의 결과값을 더해주는겁니다 (제일앞의 sum)
a열이 홍길동이라는 조건에 맞으면 1, 아니면 0
b열이 21세라는 조건에 맞으면 1, 아니면 0
c열은 조건이 아니라 그 금액 그대로
한행마다 위의 세개를 계산해서...나온숫자를 다 곱해주고(셋중에 하나라도 0이면 그 행의 값은 0가 되겠죠),
모든행을 계산한다음에는 각 행의 결과값을 더해주는겁니다 (제일앞의 sum)
권한이 없습니다. 로그인