Các câu hỏi về hàm dò tìm dữ liệu (Lookup, Vlookup, Hlookup...) (2 người xem)

  • Thread starter Thread starter songlon
  • Ngày gửi Ngày gửi
Liên hệ QC

Closed poll

  • 1

    Votes: 1 100.0%
  • 2

    Votes: 0 0.0%

  • Total voters
    1
  • Poll closed .

Người dùng đang xem chủ đề này

Status
Không mở trả lời sau này.
Ha... ha... Hôm nay phát hiện ra 1 chuyện... Thì ra đại ca đâu phải cái gì cũng biết tuốt... Cũng phải có cái chưa biết chứ nhỉ? Thậm chí có những cái chưa biết rất ngây ngô... hô.. hô.. Nên nhân dịp này dc "hướng dẩn" đại ca, cảm thấy "sướng" trong người làm sao
Nói đùa cho vui, đại ca đừng giận!
ANH TUẤN
 
Gởi Thầy Long
1/ Khi thoát nó báo lỗi
ActiveWorkbook.Names("mahang").Delete
2/ Khi chọn trong HHList.AddItem (Lọc theo ký tự) thì nó không gán theo Array vừa lọc mà nó lấy theo MaHang.
HHList.RowSource = ""
For r = 2 To rc01
If Left(S01.Cells(r, 1), Len(NhomHang)) = NhomHang Then
HHList.AddItem S01.Cells(r, 1)
End If
Next
Thầy xem lại. Và nếu chọn Multi Select thì Nút Ghi hoạt động ra sao.
Cám ơn nhiều.
 
anhtuan1066 đã viết:
Ha... ha... Hôm nay phát hiện ra 1 chuyện... Thì ra đại ca đâu phải cái gì cũng biết tuốt... Cũng phải có cái chưa biết chứ nhỉ? Thậm chí có những cái chưa biết rất ngây ngô... hô.. hô.. Nên nhân dịp này dc "hướng dẩn" đại ca, cảm thấy "sướng" trong người làm sao
Nói đùa cho vui, đại ca đừng giận!
ANH TUẤN
Ê, tại anhtuan gọi anh là đại ca nên cứ ngỡ cái gì anh cũng biết.
Anh biết những gì anh đã biết. Còn những cái chưa biết thì để cho người khác biết. Gom lại thì nhiều người biết.
Còn nhiều cái chưa biết rất ngây ngô... hô.. hô..

anhphuong đã viết:
Hẹn gặp tại ... Hòa Long nhé, hay bữa nào bác lên Cao Lãnh thì hú một tiếng nhé, nhớ gọi trước kẻo tôi hay đi công tác lắm
Thân
Hú anphuong bằng cái gì?
 
Các câu hỏi về hàm VLOOKUP

Em có 1 file trong đó gồm 2 sheet, sheet 1 ở đây của em lấy từ dữ liệu của kế toán và đã được kế toán hạch toán rồi, còn sheet 2 của em là bảng kê bán hàng theo báo cáo thuế hàng tháng mà em lập (Bảng kê 02)

Kính nhờ Anh chị hướng dẫn giúp em sử dụng hàm vlookup dùm, cụ thể như sau :
Ở sheet 2 em muốn kết quả ở cột I, J , K, L (cột em tô màu vàng) truy tìm ở sheet 1 cột b (field name=aaaa) có số chừng từ trùng với số chứng từ của sheet 2 thì đưa ra giá trị sao cho tương ứng ở cột I, J, K, L.

Em đã cài công thức tuy nhiên giá trị đưa ra không như ý em muốn. Do em không hiểu cách sử dụng hàm vlookup rành.Mong anh chỉ chỉ sửa lại dùm em. Ở kết quả của sheet 2 của cột I, J , K, L em muốn kết quả nó tương ứng từng dòng 1 của sheet này. Ngoài hàm vlookup này em kết hợp với hàm if như thế nào nữa.
Chân thành cám ơn anh chị rất nhiều.
 

File đính kèm

Thuyan.acc đã viết:
Em có 1 file trong đó gồm 2 sheet, sheet 1 ở đây của em lấy từ dữ liệu của kế toán và đã được kế toán hạch toán rồi, còn sheet 2 của em là bảng kê bán hàng theo báo cáo thuế hàng tháng mà em lập (Bảng kê 02)

Kính nhờ Anh chị hướng dẫn giúp em sử dụng hàm vlookup dùm, cụ thể như sau :
Ở sheet 2 em muốn kết quả ở cột I, J , K, L (cột em tô màu vàng) truy tìm ở sheet 1 cột b (field name=aaaa) có số chừng từ trùng với số chứng từ của sheet 2 thì đưa ra giá trị sao cho tương ứng ở cột I, J, K, L.

Em đã cài công thức tuy nhiên giá trị đưa ra không như ý em muốn. Do em không hiểu cách sử dụng hàm vlookup rành.Mong anh chỉ chỉ sửa lại dùm em. Ở kết quả của sheet 2 của cột I, J , K, L em muốn kết quả nó tương ứng từng dòng 1 của sheet này. Ngoài hàm vlookup này em kết hợp với hàm if như thế nào nữa.
Chân thành cám ơn anh chị rất nhiều.
Bạn xem được chưa nhé
 

File đính kèm

Lần chỉnh sửa cuối:
Thuyan.acc đã viết:
Ở sheet 2 em muốn kết quả ở cột I, J , K, L (cột em tô màu vàng) truy tìm ở sheet 1 cột b (field name=aaaa) có số chừng từ trùng với số chứng từ của sheet 2 thì đưa ra giá trị sao cho tương ứng ở cột I, J, K, L.
Vấn đề của bạn là tìm kiếm theo 2 đk (c/từ & TK) vậy bạn phải sử dụng hàm Sumproduct, bạn có thể tìm hiểu thêm về hàm sumproduct trên Forum này nhé.

Đây là file mình làm cho bạn.
Thân.
 

File đính kèm

Cám ơn bác soibien, do không đọc kỹ đầu bài, em tưởng bạn ấy chỉ mắc lỗi do chưa đưa giá trị cột B ở sheet1 về Value, nếu để nguyên cột B như vậy, hàm Vlookup sẽ báo lỗi #REF!
 
Em thành thật cám ơn anh (chị) rất nhiều đã dành ít thời gian để trả lời và dạy cho em. Em sẽ đọc phần hướng dẫn của anh chị chỉ cho em. Nếu có gì chưa rõ em xin hỏi thêm.

Em nhận thấy 2 anh(chị) rất nhiệt tình chỉ cho em thêm hàm =SUMPRODUCT. Đối với em phải nói tất cả những gì anh (chị) chỉ dẫn đều quý báu cả. Em phải học từ đầu và không ngại giấu cái dốt của em.
Trước kia em cài công thức hàm =vlookup do có thể kiểu dữ liệu của 2 sheet không giống nhau nhưng em cũng chưa biết cách để đổi về value nữa. Một phần là dữ liệu của sheet 1 như em trình bày là do data trong chương trình kế toán import ra excel còn sheet 2 là do em lập theo mẫu bảng kê 02 (Hàng hóa, dịch vụ bán ra).

Một lần nữa em xin cám ơn anh(chị) cùng các thành viên trong diễn đàn rất nhiều.
Nhận thấy diễn đàn giaiphapexcel rất hay. Đây nơi giao lưu, trao đổi cùng chia sẽ lẫn nhau. Chúc diễn đàn cùng các anh chị ngày phát triển và luôn đoàn kết
 
Lần chỉnh sửa cuối:
ThuNghi đã viết:
Gởi Thầy Long
1/ Khi thoát nó báo lỗi
ActiveWorkbook.Names("mahang").Delete
2/ Khi chọn trong HHList.AddItem (Lọc theo ký tự) thì nó không gán theo Array vừa lọc mà nó lấy theo MaHang.
Thầy xem lại. Và nếu chọn Multi Select thì Nút Ghi hoạt động ra sao.
Cám ơn nhiều.

Đã chỉnh lại lỗi 1 và 2 và listbox cho phép Multi Select.
- Chọn Multi Select thì Nút Ghi ghi tất cả các mục chọn vào danh sách.
 

File đính kèm

"thay đổi nội dung bởi: nvson, 17-10-07 lúc 01:58 PM. Lý do: Cho code vào thẻ CODE ... /CODE] "
Cám ơn nvson, thế là học thêm được vụ thẻ CODE .À quên, thông báo luôn đoạn code trong Sub MyTypeDelete_CellDuplicateInColumn là lấy ý tưởng trên GPE ( hình như cũng của nvson ,và đơn giản đi 1 chút).Trước đây tôi dùng Find() và vòng lặp ( đã ok), nhưng khg rõ ràng, dể hiểu như đoạn code của nvson
 
Lần chỉnh sửa cuối:
Hàm Vlookup trả về giá trị text?

Ở ô C1 tôi có hàm VLOOKUP($A6;DGTS2044!$A$4:$E$1500;3;0) trả về "Cây nhãn". Tôi muốn sửa trưc tiếp ở ô C1 là "Cây nhãn ở sân trước" có được không?, vì sẽ có cây nhãn ở nhiều chỗ khác nhau. Nghĩa là tôi muốn thêm từ "ở sân trước"
 
=VLOOKUP($A6;DGTS2044!$A$4:$E$1500;3;0)&" ở sân trước"
 
Nhưng nếu tối muốn thêm vào giữa "Cây ở sân trước nhãn" thì phải làm sao, nghĩa là tối muốn sửa trực tiếp câu mà hàm Vlookup vừa cho kết quả. VBA có giải quyết được vấn đề này không?
 
Cũng ko đến nỗi phải dùng đến VBA đâu... bạn từ từ đặt cột phụ rồi suy luận cũng ra... Nói chung là dùng các hàm tách chuổi... Nếu ko dùng cột phụ thì làm thế này đây:
=LEFT(VLOOKUP($A6;DGTS2044!$A$4:$E$1500;3;0),FIND(" ",VLOOKUP($A6;DGTS2044!$A$4:$E$1500;3;0),1)-1)&" ở sân trước "&RIGHT(VLOOKUP($A6;DGTS2044!$A$4:$E$1500;3;0),LEN(VLOOKUP($A6;DGTS2044!$A$4:$E$1500;3;0))-FIND(" ",VLOOKUP($A6;DGTS2044!$A$4:$E$1500;3;0),1))
 
Thực ra vấn đề ở chỗ không phải chỉ có giá trị "cây nhãn" mà có những giá trị dài đến nhiều từ, có thể sửa không nhất thiết là ở giữa, ở đầu hay ở cuối mà sửa ở vị trí bất kỳ, nếu áp dụng hàm của anhtuan thì không thể linh động được.
 
Tôi gửi file lên nhờ các bác giúp, tôi muốn khi nhập mã thì cột C6 trả về dạng text để tiện cho việc swar chữa
 
Lần chỉnh sửa cuối:
Viết VBA cho hàm Vlookup

Bác nào biết code của hàm Vlookup viết bằng VBA không, hình như tôi đã đọc được ở đâu đó trên diễn đàn nhưng giờ tìm lại không thấy. Tôi cảm ơn nhiều
 
nokiano258vn đã viết:
Bác nào biết code của hàm Vlookup viết bằng VBA không, hình như tôi đã đọc được ở đâu đó trên diễn đàn nhưng giờ tìm lại không thấy. Tôi cảm ơn nhiều

Bạn tham khảo ở đây nhé, nó sẽ tiện lợi hơn Vlookup nhiều.
http://tinyurl.com/2zqcxf
Thân!
 
1.-Trong dữ liệu của sheet 1, cột F là cột do kế toán thiết lập và định khoản.
Trong đó có phần định khoản 3387 phân ra chi tiết nhiều như 33870010,33870020,33870030,... Nhưng lúc em viết bài này lên thì em đã thay tất cả 33870010,33870020,33870030 bằng 3387 để khỏi chia ra nhiều cột 3387 ở sheet 2 (Cột L - sheet 2).


Qua ứng dụng hàm =sumproduct em có thể kết hợp cùng với hàm right được chứ. Em muốn để nguyên dữ liệu của sheet 1 có các tài khoản 33870010,33870020,33870030,... (không thay 3387 cho sheet 1 như trước đây).
Công thức hàm =sumproduct em sử dụng kết hợp với hàm right như sau :


=SUMPRODUCT(--((Sheet1!$B$2:$B$82)=Sheet2!$B5)*(Sheet1!right($F$2:$F$82,4)=Sheet2!I$4)*Sheet1!$G$2:$G$82) ===> Mày báo sai. Không rõ ở đây em thiếu sót cái gì nhờ anh chị chỉ hộ cho em.
2.- Tìm hiểu về kiểu dữ liệu khác biệt giữa 2 sheet : (Sheet 1 và sheet 2)


Ờ sheet 1( cột b có field name = aaaa) : Em muốn nhờ anh chị chỉ cho em thêm làm sao anh chị phân biệt được ngay kiểu dữ liệu ở cột aaaa này khác với cột b của sheet 2 vậy. Vì lúc em sử dụng hàm =MID(A2,2,5) cài cho cột b của sheet 1 đồng thời em sử dụng hàm Vlookup để cài cho sheet 2 bấy giờ kết quả nó cứ báo sai #N/A.Mặc dầu em đã định dạng cột b của 2 sheet này lại (format/cell/number/general) rồi vẫn báo sai.
Anh Phamnhukhang đã biến =value(MID(A2,2,5)) thành ra giá trị trở lại.
Lý do sao phải sử dụng hàm value ở đây. (Lý do mà em muốn Tìm hiểu về kiểu dữ liệu khác biệt giữa 2 sheet là vậy):
Chân thành cám ơn
 
Thuyan.acc đã viết:
1.-Trong dữ liệu của sheet 1, cột F là cột do kế toán thiết lập và định khoản.
Trong đó có phần định khoản 3387 phân ra chi tiết nhiều như 33870010,33870020,33870030,... Nhưng lúc em viết bài này lên thì em đã thay tất cả 33870010,33870020,33870030 bằng 3387 để khỏi chia ra nhiều cột 3387 ở sheet 2 (Cột L - sheet 2).




Qua ứng dụng hàm =sumproduct em có thể kết hợp cùng với hàm right được chứ. Em muốn để nguyên dữ liệu của sheet 1 có các tài khoản 33870010,33870020,33870030,... (không thay 3387 cho sheet 1 như trước đây).
Công thức hàm =sumproduct em sử dụng kết hợp với hàm right như sau :



=SUMPRODUCT(--((Sheet1!$B$2:$B$82)=Sheet2!$B5)*(Sheet1!right($F$2:$F$82,4)=Sheet2!I$4)*Sheet1!$G$2:$G$82) ===> Mày báo sai. Không rõ ở đây em thiếu sót cái gì nhờ anh chị chỉ hộ cho em.

bạn thử cái này:
=SUMPRODUCT(((Sheet1!$B$2:$B$82)=Sheet2!$B5)*(right(Sheet1!$F$2:$F$82,4)=Sheet2!I$4)*Sheet1!$G$2:$G$82)


2.- Tìm hiểu về kiểu dữ liệu khác biệt giữa 2 sheet : (Sheet 1 và sheet 2)



Ờ sheet 1( cột b có field name = aaaa) : Em muốn nhờ anh chị chỉ cho em thêm làm sao anh chị phân biệt được ngay kiểu dữ liệu ở cột aaaa này khác với cột b của sheet 2 vậy. Vì lúc em sử dụng hàm =MID(A2,2,5) cài cho cột b của sheet 1 đồng thời em sử dụng hàm Vlookup để cài cho sheet 2 bấy giờ kết quả nó cứ báo sai #N/A.Mặc dầu em đã định dạng cột b của 2 sheet này lại (format/cell/number/general) rồi vẫn báo sai.
Anh Phamnhukhang đã biến =value(MID(A2,2,5)) thành ra giá trị trở lại.
Lý do sao phải sử dụng hàm value ở đây. (Lý do mà em muốn Tìm hiểu về kiểu dữ liệu khác biệt giữa 2 sheet là vậy):

Cái này thì hơi rắc rối, làm riết thì quen, nhiều khi đúng với công thức này, nhưng lại không đúng với công thức kia, với những ô dữ liệu ta nhập vào bằng tay bình thường thì excel có thể tự động chuyển đổi kiểu dữ liệu của ô đó, cho nên nó có thể hiểu là text hoặc number, nhưng khi sử dụng các hàm có kiểu của dữ liệu trả vể được xác định (như hàm Mid, kiểu dữ liệu trả về chắc chắn là string) nên trong trường hợp này dùng format/cell sẽ không thay đổi được kiểu dữ liệu của dữ liệu được trả về của hàm mid, do đó phải dùng hàm Value để đổi kiểu dữ liệu.
 
Lần chỉnh sửa cuối:
các bác tranh luận với nhau quá hả!!!!!excel mà, có nhiều chiêu thức để chúng ta hóa giải bài toán lắm.chỉ cần kết quả trả về đúng và công thức đơn giản, dể hiểu là tốt rồi các bác ạ.Tôi nghỉ trong trường hợp này ta xử dụng hàm ISNA hoặc ISERROR là tốt rồi vì hai hàm này dể xử dụng, dể hiểu cho các bạn mới bắt đầu nữa!!!!!
 
trường hợp này đơn giản thôi mà.bạn chú ý rằng A01 trong trương hợp này 01 là text bạn nhé vì text kết hợp với number thì excel trả về kiểu dữ liệu là text.công thức của bạn là không sai, nhưng kết quả trả về là #N/A thì hàm này đã sai giá trị dò rồi đấy(lookup_value). bạn hãy chuyển 01,02,03...sang kiểu text nhé.để tránh sai sót trong trương hợp này khi nhập liệu cho 01,02,03... bạn nhập như sau:'01->kết quả bây giờ là 01 và kiểu dữ liệu luôn luôn là tẽt.
chúc thành công!!!!!
 
Mình làm theo bài của các bạn mà không lấy được dữ liệu đúng yêu cầu. Trong form nhap khi kich vao cap nhat sẽ lấy đc tên hàng từ giá trị tham chiếu MSP nhập vảo cột tên hàng trong sheet tonghop. Giá trị mình lấy đc luôn luôn là Tên Hàng
 

File đính kèm

hỏi về hàm vlookup!!

hi all

Teru muốn hỏi các bạn là dùng hàm vlookup trong trường hợp này như thế nào để tính ra đơn giá( vì ở đây có chia ra từng thời điểm thì đơn giá khác nhau)

Teru có gửi file đính kèm.......CÁc bạn xem và giúp Teru nha'!!
Thanks all-\\/.
Im waiting for ur reply
 

File đính kèm

Hi all!

Xin hỏi có cách giải khác không vì Teru chưa học hàm Match !!
Thanks!
 
Dễ hiều nhất thì bạn dùng VLOOKUP kết hợp với IF:
=VLOOKUP(D3,$A$12:$D$15,IF(LEFT(B3,1)="B",2,IF(LEFT(B3,1)="D",3,4)),1)
Cẫn thận với công thức dc post lên.. ko hiều sao viết chử LEFT mà nó cứ trở thành LEF T
Khi bạn copy thì nhớ coi chừng vụ này nha!
 
Lần chỉnh sửa cuối:
nokiano258vn đã viết:
Bác nào biết code của hàm Vlookup viết bằng VBA không, hình như tôi đã đọc được ở đâu đó trên diễn đàn nhưng giờ tìm lại không thấy. Tôi cảm ơn nhiều
Trong VBA Excel cho phép sử dụng một số hàm bảng tính như COUNT, COUNT, COUNTBLANK, COUNTIF, ..., trong đó có`VLOOKUP.
Để sử dụng các hàm này, phải khai báo Application.WorksheetFunction.Tên hàm(đối số, ...)
Các đối số sử dụng như là các đối số ngoài bảng tính.
Muốn biết Application.WorksheetFunction có những hàm nào, trong Module nhập Application.WorksheetFunction dấu chấm ( . ) VBA sẽ hiện 1 ListBox liệt kê các hàm được phép sử dụng.
 
Đã chỉnh lại lỗi 1 và 2 và listbox cho phép Multi Select.
- Chọn Multi Select thì Nút Ghi ghi tất cả các mục chọn vào danh sách.
Cám ơn Thầy nhiều lắm.
Khi em tăng mã hàng thành 1500 record thì chạy hết nổi luôn
Private Sub ....NhomHang()
For r = 2 To rc01
If UCase(Left(S01.Cells(r, 1), Len(NhomHang))) = NhomHang Then
HHList.List(HHList.ListCount - 1, 2) = S01.Cells(r, 2)
End If
Next
End Sub
HHList có thể chuyển thành HHArray(1 to rc01) được không? Chỉ lấy mã hàng thôi.
Em xin hỏi Thầy vấn đề khác như sau
Option Explicit
Public Sub ChRangeToArray()
Dim rngMyRange As Range, aaa As Long, bbb As Range

Dim MyArray1()
Dim MyArray2()
Dim i As Long, j As Long
Set rngMyRange = Range("a1:b10") 'NVSON
For i = 1 To rngMyRange.Rows.Count
If rngMyRange.Cells(i, 2) = "b" Then
j = j + 1
ReDim Preserve MyArray1(1 To j)
MyArray1(j) = rngMyRange.Cells(i, 1)
ReDim Preserve MyArray2(1 To j)
MyArray2(j) = rngMyRange.Cells(i, 2)
End If
Next i
'Range("E1").FormulaR1C1 = "=SUMIF(Myarray2,RC[-1],Myarray1)"
'MsgBox UBound(MyArray2())
aaa = WorksheetFunction.Sum(MyArray1)
MsgBox aaa
End Sub
Theo file kèm, em muốn công thức sau thi hành
Range("E1").FormulaR1C1 = "=SUMIF(Myarray2,RC[-1],Myarray1)"
Vì là aray nên chưa hiểu phải làm thế nào.
 

File đính kèm

Lần chỉnh sửa cuối:
Hi Tuấn

Teru đã áp dụng hàm mà bạn chỉ thì đã đựoc kết quả như ý muốn....but Teru o hiểu cho lắm:
- thứ nhất là giá trị lookup_value. Teru biết đó là cột thời điểm( but thời điểm của bảng dò đâu có giống với cột ngày của bảng chính đâu ví du: ở bảng dò: là 01/01/2001,01/02/2001.01/03/2001.......còn ở bảng chính là 14/01/2001,.....,27/03/2001
- thứ hai đó là giá trị range_lookup, khi Teru học thì thầy dặn là giá trị này luôn luôn bằng 0, còn ở dây Tuấn làm là 1......
Teru có hai vấn đề thắc mắc...Tuấn giải thích dùm nhé!( mong là bạn hiểu ý Teru muốn hỏi)
Thanks!
Im waiting for ur reply
 
Tại vì ở đây là dò ko chính xác.. Bạn đễ ý thấy VLOOKUP(tri dò,bảng dò,cột dò, tham số) cái tham số cuối cùng này là 1... Đó là dò ko chính xác đấy! Nó áp dụng cho trường hợp bảng dò đã dc sắp xếp trước tăng dần hay giảm dần và trị dò thì ko = chính xác giá trị trong bảng dò (bảng dò của bạn đang sắp xếp tăng dần)... Vậy thì khi dò tìm, nếu ko tìm dc giá trị trong bảng, nó sẽ tìm cái nào gần nhất... Trong trường hợp này nó sẽ lấy cái gần nhất nhỏ hơn nó
VD: trị dò 10/1/2001 khi dò vào bàng, thì cái gần nhất nhỏ hơn nó chính là 1/1/2001... Đúng ko?
Nói chung CÁC HÀM DÒ TÌM ĐÂU CHỈ LÀ TÌM CHÍNH XÁC
khi Teru học thì thầy dặn là giá trị này luôn luôn bằng 0, còn ở dây Tuấn làm là 1......
Thầy dặn như thế rất có thể là do chương trình học chưa tới... hi.. hi.. Bạn ko tin cứ mở Help của hàm này sẽ thấy, đâu phải chỉ là 0
Còn như thầy ko chấp nhận thì bạn hảy làm ngược lại: HLOOKUP và dò tìm các ký tự B, G.. kết hợp với IF... (nếu ngày <1/2/2001 thì lấy dòng 2, nếu ngày <1/3/2001 thì lấy dòng 3, ngược lại lấy dòng 4)... Đại khái là thế thì sẽ tránh dc cái vụ 0, 1 này...
Công thức này đây sẽ giúp bạn tránh dc thầy la:
=HLOOKUP(LEFT(B3,1),$A$12:$D$15,IF(D3<$A$14,2,IF(D3<$A$15,3,4)),0)
Ha... ha...
ANH TUẤN
 
Lần chỉnh sửa cuối:
Hỏi về hàm vlookup(hlookup) tiếp!!!

heya.....lại về vấn đề về hàm vlookup-hlookup...bài này Teru ngồi suy nghĩ hoài but không biết làm thế nào cả?
Mong các bạn giúp dùm
Thanks all
Im waiting for ur reply
PS: Teru post sai ở cột trước thời điểm( bảng dò).....năm 2002 chứ không phải năm 2006
 

File đính kèm

Lần chỉnh sửa cuối:
=if(mid(a4,5,1)="n",hlookup(left(a4,4),$g$20:$i$23,if(c4<$f$21,2,if(c4<$f$22,3,4)),0),hlookup(left(a4,4),$j$20:$l$23,if(c4<$f$21,2,if(c4<$f$22,3,4)),0))
 
Lần chỉnh sửa cuối:
Hi Tuấn!!
Teru có hai vấn đề thắc mắc đó là:
- Thứ nhất Tuấn có thấy rằng bạn đưa ra cái điều kiện c4<...là vô lý hay ko??? ( mọi giá tri trong cột ngày(bảng chính- 2006) đều lớn hơn các giá trị trong cột trước thời điểm(bảng dò-2002)------> Teru đã note vô bài post là Teru đánh đề bài sai..Tuấn coi kỹ lại nhé!!!!
- Thứ hai là teru muốn hỏi là dòng nhận giá trị là 3,4,5 mới đúng chứ.....chứ sao lại là 2,3,4( vì đơn giá nhập/xuất + mã hàng đả chiếm 2 dòng rồi....????
 
TERU đã viết:
heya.....lại về vấn đề về hàm vlookup-hlookup...bài này Teru ngồi suy nghĩ hoài but không biết làm thế nào cả?
Mong các bạn giúp dùm
Thanks all
Im waiting for ur reply
PS: Teru post sai ở cột trước thời điểm( bảng dò).....năm 2002 chứ không phải năm 2006

Việc cần thiết không phải là mấy công thức mà là cách bố trí lại số liệu.
Các bố trí như của bạn rất không khoa học và gây khó cho việc làm báo cáo (số liệu và thẩm mỹ)
Cố gắng nhé

Thân!
 
Gì mà vô lý chứ... đễ ý lại xem... 20/10/2006 thì tất nhiên phải nhỏ hơn 30/10/2006... đúng ko nè... Còn chuyện bạn ghi sai đề thế nào đó thì sữa lại... công thức vẩn trên nguyên tắc đó thôi
Dòng 2,3,4 hay 3,4,5 là tùy vào tôi chọn bảng phụ từ đâu... Tôi đâu có chọn 2 dòng tiêu đề: từ dòng 20 trờ xuống chứ có phải từ dòng 19 đâu nè... Nói chung cái này cũng tùy bạn luôn...
Mà nè... nếu bảng chính là 2006 còn bảng dò là 2002 thì làm sao mà tính dc.. có phải vô lý lắm ko? Vì nếu như thế thì cần quái gì IF nữa... toàn bộ ngày đều > bảng phu ??? Bạn nghĩ sao ? Tôi nghĩ nếu sữa thì sữa toàn bộ thành 2002, còn ko thì đễ nguyên 2006
 
To Mr Okebab: Teru o fải tự sắp xếp số liệu...mà cái này là do đề bài nó sắp sếp như thế!!!( Nó cũng làm Teru crazy từ trưa đến giờ....nhìn ko biết bắt đầu làm từ đâu)
To Tuấn: Yep, đúng như Tuấn nói nếu bảng chính là 2006- bảng dò 2002 thì vô lý...( but đề bài nó thía đấy Tuấn áh!!!)...But Teru đã tự sửa lại toàn bộ là 2006....và đã ra kết quả như mong muốn!!!

còn 1 vấn đề Teru ko giải quyết ra trong bài này đó là tính tổng số lượng các mặt hàng.
Đề bài cho một bảng hai cột: Mã hàng và tổng số lượng.....ví dụ nhé:
A (MÃ HÀNG) B(TỔNG SỐ LƯỢNG)
30 NO83 =sumif(left(a4,4),a30,e4:e9)
31 MO90
32 SA20
But máy báo lỗi là ghi hàm sai.......Teru ko biết sai chỗ nào........Mong các bạn chỉ giúp!
Thanks
 
Tại cell C14 bạn gõ công thức:
=SUMIF($B$4:$B$9,B14,$E$4:$E$9)
Rồi kéo fill xuống... Nếu mà bạn dùng LEFT thì có mà chết... lúc đó là phải dùng công thức mãng hoặc hàm SUMPRODUCT.. e rằng bạn chưa học tới
Nói thêm 1 chút: SUMIF( mãng chứa điều kiện, điều kiện, mãng cần cộng)
Với Bắp: Cái này là BT Bắp ơi!
Mến
ANH TUẤN
 
Lần chỉnh sửa cuối:
ThuNghi đã viết:
Cám ơn Thầy nhiều lắm.
HHList có thể chuyển thành HHArray(1 to rc01) được không? Chỉ lấy mã hàng thôi..

(1) HHList.AddItem r
(2) HHList.List(HHList.ListCount - 1, 1) = S01.Cells(r, 1)
(3) HHList.List(HHList.ListCount - 1, 2) = S01.Cells(r, 2)
Có thể bỏ dòng (2) hoặc (3) chứ không thể bỏ dòng (1) vì có AddItem xong, mới có thể ghi dữ liệu vào cột 2, 3 của ListBox. Mặc khác (1) ghi stt dòng, không có nó, không biết dữ liệu nguồn nằm ở dòng nào để lấy ghi vào NHAP được.

Theo file kèm, em muốn công thức sau thi hành
Range("E1").FormulaR1C1 = "=SUMIF(Myarray2,RC[-1],Myarray1)"
Vì là aray nên chưa hiểu phải làm thế nào.
Không thể sử dụng 2 đối số Myarray1, Myarray2 trong công thức được vì đây là 2 array chứ không phải name.
Câu lệnh này cho kết quả tương đương công thức trên, nhưng chỉ ghi kết quả chứ không ghi công thức.
Range("E1") = WorksheetFunction.SumIf(Range("b1:b10"), Range("D1"), Range("a1:a10"))
 
Range("E1") = WorksheetFunction.SumIf(Range("b1:b10"), Range("D1"), Range("a1:a10"))
Trong khi Range("b1:b10") là MyArray2 thì làm thế nào hiểu công thức có mảng.
Xin cho 1 giải pháp. Cám ơn!
 
Vui lòng hướng dẫn khai thác hàm sumproduct, Vlookup

Em muốn khai thác dữ liệu ở 3 sheet, sheet bke, sheet ttoan và sheet code
Ở sheet bke (Bảng kê bán hàng) và sheet ttoan (file dữ liệu của kế toán cung cấp các thông tin thu tiền của khách hàng bằng tiền mặt hoặc tiền gởi)
Ở sheet bke (Bảng kê bán hàng) từ cột O,P,Q,R,S em thiết lập các vùng để theo dõi các phần thanh toán của khách hàng qua sheet ttoan.
Yêu cầu : Truy tìm :
1.- Các số chứng từ của (sheet ttoan : cột E - hoadon) bằng với sheet bke (cột B – Số)
và số tiền của (sheet ttoan : cột H – sotien) bằng với sheet bke số tiền (cột H)
Đưa kết quả “lấy số tiền của sheet ttoan” này đưa vào cột S của sheet bke.
Ở phần này em sử dụng hàm sumproduct theo các anh chị hướng dẫn cho em như những bài trước đây.
=SUMPRODUCT((ttoan!$E$2:$E$219=bke!$B4)*(ttoan!$H$2:$H$219=bke!$H4)*ttoan!$H$2:$H$219)

Ở phần này em vướng mắc :
Có khách hàng thanh toán nhiều lần cho 1 hóa đơn so với bảng kê bán hàng của em. Một hóa đơn có khi khách trả 1 phần bằng tiên mặt và 1 phần qua ngân hàng. Ở tình huống này em phải xử lý sao ?
Cụ thể ở sheet ttoan các dòng số liệu được tô màu xanh lá cây.

2.- Ở sheet bke (Bảng kê bán hàng) cột O,P
Cột O – có tên vùng tạm gọi TM (Tiền mặt)
Cột P – có tên vùng tạm gọi CK (Chuyển khoản)
ở sheet bke (Bảng kê bán hàng) này em muốn tham chiếu qua sheet ttoan (cột A – Mã ) cùng với sheet code của (cột D – Viết tắt) để đưa các giá trị tương ứng của sheet code vào sheet bke (Bảng kê bán hàng) cột O hoặc P.

3. Ở sheet bke (Bảng kê bán hàng) cột Q,R. Khi em cài hàm sumproduct thì các kết quả không tìm thấy của (cột Q- ngày) thì cột ngày lại trả về giá trị như 00/01/00
và của (cột R - số chứng từ) lại trả về giá trị 0.
Ở phần này em chưa rõ lắm lý do sao hàm sumproduct lại đưa ra kết quả này.
Có cách nào không thể hiện các giá trị do hàm sumproduct tạo ra không. Vì nếu để như thế thì bảng tính nó đầy cả.

4.- Trong sheet ttoan của kế toán chuyển xuống cho em thì không có cột (E – hóa đơn)
Để làm được các việc nêu trên em mới chèn thêm vào cột E này.
Ở cột D thì là nội dung rất nhiều như : Thu hóa đơn số xxxxx của Ông A gì đó.
Và mỗi nội dung dài ngắn khác nhau. Em phải copy nội dung của cột D vào E rồi lần lượt em dùng F2 (edit) lại lần lượt để trích số hóa đơn đó ra. Anh chị có cách nào để mình trích lọc số hóa đơn chứa trong cột D này sang cột E không ? Ở đây em làm quá thủ công công đoạn này. Có sử dụng thử hàm left, right của E hoặc hàm mid nhưng thấy không thuyết phục lắm.

Em xin cám ơn tất cả các Thầy, Cô cùng các anh chị quan tâm hướng dẫn cho em làm bài này nhằm để phục vụ công tác của em.
Cũng mong các thành viên có quan tâm cùng nghiên cứu sau khi Thầy, Cô cùng các anh chị đúc kết hướng dẫn cho mình.
Kính.
-------------------------------------------------------------
5.- Ở sheet bke (Bảng kê bán hàng) Từ cột I, J, K, L,M,N em cài các công thức như sau :
Ở cột I =IF($E4=0,D4,0) và cột J =IF($E4=0,F4,0)
Ở cột K=IF(AND($E4<=0.05,$E4>0),D4,0) và cột L=IF(AND($E4<=0.05,$E4>0),F4,0)
Ở cột M=IF(AND($E4>=0.1,$E4>0),D4,0) và cột N=IF(AND($E4>=0.1,$E4>0),F4,0)
Mục đích : Trích các số liệu từ cột $D (tiền hàng trước thuế) và cột $F (Thuế GTGT) để đưa sang các cột tương ứng I, J, K, L,M,N sao cho thỏa mãn ở điều kiện của cột E
Anh chị có thể cho ý kiến công thức này em sử dụng vậy ổn chưa hay có cách nào khác ổn định hơn. Xin vui lòng chỉ cho em thêm
 

File đính kèm

Lần chỉnh sửa cuối:
Thanks Tuấn....Mới đầu Teru cũng tính làm như vậy , but thấy đề bài nó kẻ ra một bảng riêng ( chỉ gồm hai cột như Teru nói ở trên) và yêu cầu tính tổng số lựong nên Teru o biết làm như thía nào......
ps: cho Teru hỏi:" Với Bắp: Cái này là BT Bắp ơi!"có nghĩa là gì thế Tuấn......Teru o hiểu???
Anyway, thanks Tuấn nhiều nhá
TERU
 
SoiBien ơi! giúp hộ vấn đề trên.
Cụ thể như sau:
Ta có cột ngày, mã KH và ST
Tạo 1 array thỏa điều kiện ngày = ngày -> lấy số tiền là ArrayST, lấy Mã KH là ArrayKH, lúc này ta muốn dùng sumif thì ???
Nếu dùng cells tạm gán vào thì dùng range. Nhưng ở đây là bỏ qua gán vào Cells.
 
1.- Các số chứng từ của (sheet ttoan : cột E - hoadon) bằng với sheet bke (cột B – Số)
và số tiền của (sheet ttoan : cột H – sotien) bằng với sheet bke số tiền (cột H)
Đưa kết quả “lấy số tiền của sheet ttoan” này đưa vào cột S của sheet bke.
Ở phần này em sử dụng hàm sumproduct theo các anh chị hướng dẫn cho em như những bài trước đây.
=SUMPRODUCT((ttoan!$E$2:$E$219=bke!$B4)*(ttoan!$H$ 2:$H$219=bke!$H4)*ttoan!$H$2:$H$219)

Ở phần này em vướng mắc :
Có khách hàng thanh toán nhiều lần cho 1 hóa đơn so với bảng kê bán hàng của em. Một hóa đơn có khi khách trả 1 phần bằng tiên mặt và 1 phần qua ngân hàng. Ở tình huống này em phải xử lý sao ?
Cụ thể ở sheet ttoan các dòng số liệu được tô màu xanh lá cây.
Cái này chỉ đúng khi thanh toán 1 lần hết hóa đơn đó.
Vấn đề là Sh BKe phần theo dõi thanh toán bạn muốn tính cái gì,
- Nếu tính tổng số tiền thanh toán cho hđ thì bạn không cần có đoạn này (ttoan!$H$ 2:$H$219=bke!$H4)
Lúc này số CT và ngày CT thanh toán sẽ không lấy được.
- Nếu muốn liệt kê thì sang sh thanhtoan mà xem.
Nói chung là khó gom lại vào 1 sh vừ theo dõi tiến độ thanh toán vừa theo dõi bán hàng.
Mói xem có từng đó, sẽ xem tiếp sau.
 
lam sao ma tao dc bang nhap do hay vay ban co the chi cho minh dc chu
cam on baqn
co chu "nhap hang " do lam sao ma co dc thong tin do vay
 
Phần 5
Ở cột I =IF($E4=0,D4,0) và cột J =IF($E4=0,F4,0)

Ở cột K=IF(AND($E4<=0.05,$E4>0),D4,0) và cột L=IF(AND($E4<=0.05,$E4>0),F4,0)
Ở cột M=IF(AND($E4>=0.1,$E4>0),D4,0) và cột N=IF(AND($E4>=0.1,$E4>0),F4,0)
VAT thì chỉ có 3 mức: 0, 5, 10 (E4)
Tại sao các cột K,L và M,N không dùng như cột I và J mà phải > và <
Phần trên #6 đã trả lời cho phần 2, 3 rồi.
Còn mục 4, không thấy cái gì chung hết nên phải tách thủ công thôi, tôi cũng đã làm như vậy do phải lấy dữ liệu từ BP khác. Đành phải F2 edit thôi. Còn nếu số HĐ giống như tên trong họ tên thì có thể dùng 1 hàm VBA.

 
ThuNghi đã viết:
Trong khi Range("b1:b10") là MyArray2 thì làm thế nào hiểu công thức có mảng.
Xin cho 1 giải pháp. Cám ơn!

muốn dùng vba để chèn công thức trên, anh phải dùng thế này:

Range("E1").Formula = "=SumIf(" & Range("b1:b10").Address & "," & Range("D1").Address(0, 0) & "," & Range("a1:a10").Address & ")"
 
hoặc nếu số HĐ cố định là 5 hoặc 6 số thì em có thể thử viết một hàm UDF để tách được.
 
Em xin cám ơn Thầy Cô nhiều. Em chỉ sử dụng các công thức đơn giàn thôi còn sử dụng macro, hàm VBA hay UDF như Thầy Cô hướng dẫn thì em chưa hiểu lắm .
Em ghi nhận và tìm hiểu để học thêm. Có gì không rõ em xin Quý Thầy Cô hướng dẫn thêm.:boat: Em đang bị bơi và bí quá
Kính
 
For i = 1 To rngMyRange.Rows.Count
If rngMyRange.Cells(i, 2) = "b" Then
j = j + 1
ReDim Preserve MyArray1(1 To j)
MyArray1(j) = rngMyRange.Cells(i, 1)
ReDim Preserve MyArray2(1 To j)
MyArray2(j) = rngMyRange.Cells(i, 2)
End If
Sau khi vòng lặp For ... Next thực hiện xong:
MyArray1 chứa các số bên cột A (2,3,2) có ô tương ứng bên cột B là "b", MyArray2 chứa các chữ trong cột B ("b","b","b") vì câu lệnh
If rngMyRange.Cells(i, 2) = "b" Then
Tôi không hiểu ThuNghi muốn sử dụng công thức "=SUMIF(Myarray2,RC[-1],Myarray1)" nhằm mục đích gì vì Array1 và Array2 chỉ liên quan đến dữ liệu duy nhất là "b"?
 
Mình thấy vấn đề gì đau nhể
Xem file gửi kèm đi
 
Lần chỉnh sửa cuối:
Bạn vô hàm vlookup có giải thích:
tham số cuối cùng dạng logical, số 1 là true, số 0 là false, số 1 là tìm gần đúng, số 0 là tìm chính xác
 
thinhpcr đã viết:
Đây là bài tập của mình mong các bạn giúp đỡ giải quyết cho ! XIn cảm ơn !
Mình đã sửa lại cái file "Vlookup_Right", bạn xem lại thử đã được chưa.
Chúc bạn thi tốt.
 

File đính kèm

Sử dụng đối số range_lookup

connhangheo đã viết:
thanks các bác rất nhiều
Nhưng có cái là em vẫn ko hiểu thêm số 0 ở cuối và ko có số 0 đó thì khác nhau như thế nào, vì từ trước đến giờ em nghĩ 2 cách trên là như nhau.

em không hiểu tại sao khi em không thêm 0 ở cuối thì có chỗ sai mà có chỗ lại vẫn đúng??? Mong các bác chỉ giáo.
Mình giải thích về cách dò tìm của hàm vllokup, sự khác nhau của việc sử dụng hay không sử dụng đối số range_lookup. Bạn mở file gửi kèm để xem nhé.
Chú vui vẻ.
 

File đính kèm

Lần chỉnh sửa cuối:
Giúp lập hàm Vlookup

Chào các anh chị, em là thành viên mới tinh của giaiphapexcel.com. Và em cũng chưa biết cách sử dụng các hàm trong excel để làm kế toán. Em mới tải đươc một file quản lý kho đơn giản của webketoan nhưng chưa được hoàn thiện. Mong các bác giúp em với. Xin đa tạ.
Làm thế nào để có thể đính kèm file vậy các bác?
 
Ứng dụng của hàm VLOOKUP, HLOOKUP?

Xin cho em hỏi cách sử dụng, và ứng dụng của 2 hàm này nhé! Em mới được học nhưng chưa biết nhiều lắm.
 
em xem nhưng cũng chưa hiểu rõ, mọi người có thể giải thích rõ hơn được ko vậy
 
Gửi bạn một số bài tập liên quan đến hàm Tham chiếu, khi xem xong chắc bàn sẽ giải quyết được bài tập của bạn.

Chúc bạn thành công!
--=0
 
Lần chỉnh sửa cuối:
các bạn có thể nói rõ hơn về ham vlookup được không? mình không hiểu ,các ban giải thích bằng vd đi
 
Bác nào có thể giải giúp em cách dùng hàm vlookup trong trường hợp này được không? dùng hàm Vlookup để ghi điểm UT dựa vào XLHT và giá trị được tham chiếu trên bảng Điểm UT.
A = 1
B = 0,5
C = 0
Em còn gà lém mong các bác giúp đỡ nhiều.
 
Lần chỉnh sửa cuối:
Bạn đưa file của bạn lên xem như thế nào. Câu hỏi của bạn khó hiểu quá.
Thân!
 
Bạn cho hỏi:
UT là cái gì?
và XLHT là cái gì?
 
Cái này hõi thầy Phước chắc biết... UT tôi đoán là Ưu tiên... (có nghĩa là điễm ưu tiên).. còn ông nội XLHT thì.. lơ canh chua... có lẽ là XỮ LÝ HÀNG TỒN (kho) chăng
???
Ac.. Ac...
 
Đúng là nói thế này thì tôi cũng chẳng hiểu được gì, !?
 
lovegames054 đã viết:
Bác nào có thể giải giúp em cách dùng hàm vlookup trong trường hợp này được không? dùng hàm Vlookup để ghi điểm UT dựa vào XLHT và giá trị được tham chiếu trên bảng Điểm UT.
A = 1
B = 0,5
C = 0
Em còn gà lém mong các bác giúp đỡ nhiều.
UT: Ưu tiên
XLHT: Xếp loại học tập gồm có A, B, C
Bạn ấy mới up lần đầu, thông cảm nhé.
Ta có bảng sau
----A----B
1---A----1
2---B----0.5
3---C----0

D1="A" => E1=vlookup($A$1:$B$3,$D1,2,0)=1
Tương tự như vậy.
 
? Hỏi về OFFSET cho VLOOKUP

Dear all,

Giả sử mình có 2 cột (dùng VLOOKUP) lấy dữ liệu từ 1 bảng, kết quả trả về chỉ khác là cột số nào mà thôi. Vậy có cách nào dùng offset để công thức trên thanh formula của 2 cột hoàn toàn giống nhau

Cám ơn nhiều
 
Lần chỉnh sửa cuối:
Tất nhiên là dc... Bạn ko cần dùng Offset trong trường hợp này chi cho phí... ngay tham số cột thứ bạn dùng hàm COLUMN() thay vào...
Ví dụ:
Cột B của bạn có công thức =VLOOKUP(A5,DS,3,0)
Cột C của bạn có công thức =VLOOKUP(A5,DS,4,0)
Vậy bạn có thể dùng 1 công thức chung như sau:
=VLOOKUP(A5,DS,COLUMN()+1,0)
Đây chỉ là gợi ý, tất nhiên có thể khác với dử liệu thật của bạn.. Nên nhớ rằng nếu kéo ngang công thức mà bên trong có tham số nào đó biến đổi đều thì nên tận dụng tối đa hàm COLUMN().. và tương tự như thế đối với hàm ROW() khi kéo xuống
Mến
ANH TUẤN
 
vumian đã viết:
Giả sử mình có 2 cột (dùng VLOOKUP) lấy dữ liệu từ 1 bảng, kết quả trả về chỉ khác là cột số nào mà thôi. Vậy có cách nào dùng offset để công thức trên thanh formula của 2 cột hoàn toàn giống nhau
Thực sự tôi không hiểu câu hỏi.
 
Câu hỏi rõ ràng mà Chibi... Rõ ràng nếu cột A bạn ấy dùng hàm VLOOKUP tham chiếu đến cột 3 trong bảng dử liệu... và cột B cũng dùng VLOOKUP nhưng lại tham chiếu đến cột 4 thì bạn ấy phải tạo 2 công thức khác nhau cho 2 cột này... Nếu như bạn ấy dùng thêm hàm COLUMN() vào thì chỉ 1 công thức là xong cho cả 2 cột A và B, đúng ko?
 
Bác anhtuan1066 hiểu đúng ý , nhưng mà dùng column()+1 thì 2 cột này làm sao mà chung 1 cong thuc duoc
 
Tất nhiên dc chứ... Này nhé.. khi công thức nằm ở cột A thì COLUMN() sẽ bằng 1, khi công thức nằm ở cột B thì COLUMN() sẽ bằng 2
Chính vì thế khi bạn kéo ngang công thức sang phải thì ngay vị trí tham chiếu cột trong VLOOKUP sẽ thay đỗi
Cái này chỉ là gợi ý, nếu bạn đưa dử liệu lên rôi sẽ hướng dẩn chính xác hơn... Bảo đảm 1 công thức cho toàn bộ các cột
 
Đây nè bác anhtuan1066 ơi, làm sao cái cột D và cột E có cái nhìn công thức trên formula hoàn toàn giống hệt nhau mà ra kết quả trả về là 2 cột khác nhau, Thanks
 

File đính kèm

Trong trường hợp cụ thể này thì dùng công thức sau tại cell D8
Mã:
=VLOOKUP($C8,Sheet2!$C$8:$F$11,(COLUMN()-3)*2,0)
Kéo fill ngang qua và xuống dưới... có phải là chung 1 công thức ko?
Ha... ha...
 
hihi, đúng rồi anhtuan1066 ơi, mà mình chưa hiểu cái chỗ column() trừ rồi lại nhân, giải thích giúp mình đi bác anhtuan1066, Cám ơn nhiều lắm
 
Bác Tuan Offline rồi tôi giải thích thế này nhé. CT của bác Tuấn đặt cho bạn là ct làm riêng cho truờng hợp bạn hỏi thôi (theo file của bạn) còn colum() + và trừ đó là thế này:
column() = số cột D = 4
Trừ 3 = 1 * 2 là số cột tính theo mảng vlookup C8:F11
1*2 = 2 tương đưong với cột 2 vùng lookup.
kéo ngang sang column() = F =5
trừ 3 = 2
2*2 = 4 tương đương với cột 4 vùng lookup.
Theo yêu cầu của bạn CT hai cột giống nhau là OK.
Thân!
 
Nói thêm 1 chút: cái này chỉ có thể áp dụng dc khi chỉ số cột trong VLOOKUP tăng dần đều... Tăng bao nhiêu đơn vị cũng dc, miễn phải có quy luật... như tại cột D thì chỉ số cột là 2, tại cột E chỉ số cột là 4.. rồi đến cột F, chỉ số cột là 6.. ta sẽ xem đó là tăng dần đều... Chứ còn.. lung tung thì bó tay
 
Àh, ra là thế, hehe, Cám on chiều bác anhtuan nhe
 
Bác ơi em chẳng hiểu chi so cot la gi va chi so cuoi cung la 0 co nghia la gi
 
anhtuan1066 đã viết:
Chứ còn.. lung tung thì bó tay
Nó mà lung tung thì mình dùng cái khác thế vào. Thí dụ dùng match cũng cho chỉ số cột với điều kiện tiêu đề cột đích giống tiêu đề cột nguồn.
 
Dùng Hàm vlookup tìm giá trị theo 2 biến ?

trong diễn đàn đã có hàm vlookupx tìm với 3 điều kiện
Thử xem bạn, ở đây nè
http://www.bygsoftware.com/Excel/VBA/vlookupx.htm





VLOOKUPX

Look up on multiple fields with this alternative to VLOOKUP

Uses the two worksheet functions INDEX and MATCH within the VBA Evaluate method. Use any columns in any order, from the source table, for the lookup values.

Purpose

Look up a value based on up to three columns of a table.


Download


 
Giúp mình hàm VLOOKUP với tham chiếu 2 cột

Mình có tạo 2 cột với 2 loại xe khác nhau: XeH và XeC. Với dữ liệu ở 1 dòng có thể giá trị nằm ở XeH hoặc XeC. Sau đó mình muốn trả giữ liệu ở cột "Loại xe" tương ứng với giá trị nằm ở cột XeC hoặc XeH.

Thân
 

File đính kèm

Bạn ơi, tìm hết cả bảng tính của bạn rồi mà chẳng thấy XeH và XeC nằm ở chỗ nào cả...

Hay là bạn muốn dò với số xe để tìm ra loại xe (số chỗ thì đúng hơn ?) dựa vào cái bảng bên Sheet List dưới đây, và ghi vào mấy cái cell bạn tô màu cam, thì dùng VLOOKUP bình thường thôi chớ đâu có gì khó ?
048.jpg
Lấy số xe ở cột K, dò với cột đầu của bảng List!D10:E18, nếu có thì lấy kết quả tương ứng ở cột thứ 2, nếu báo lỗi #NA! (vì không có) thì lấy số xe ở cột M đi dò với cột đầu của bảng List!F10:G18 và cũng lấy kết quả tương ứng ở cột thứ 2. Công thức ở N10 (Sheet 01) là:
= IF(ISNA(VLOOKUP(K10, List!$D$10:$E$18, 2, 0)), VLOOKUP(M10, List!$F$10:$G$18, 2, 0), VLOOKUP(K10, List!$D$10:$E$18, 2, 0))
Công thức này kéo từ N10 xuống N18 thì đúng, nhưng N19 thì sai, vì trong List của bạn hổng có cái xe nào mang bảng số 29T-5101 cả bạn ơi.

Trên đây, tạm cho là ý bạn muốn hỏi như vậy, và tôi cũng chỉ hướng dẫn một trong những cách đơn giản nhất. Còn nếu không phải là ý bạn muốn hỏi, thì bạn trình bày lại câu hỏi nghe.
 
Cần tư vấn về hàm Vlookup

Trong 1 sheet mình dùng khá nhiều hàm Vlookup, với số lượng ít dòng thì không sao nhưng mà số lượng dòng khoảng trên 4000 thì file khá nặng và mở hơi lâu. Số liệu phải thường xuyên update nên mình không thể copy giá trị được, các bạn có giải pháp nào giúp mình không???
 
Tôi giả định là bạn đã đưa ra giải pháp tối ưu cho file của bạn rồi. Để có thể tránh được tình trạng máy chạy chậm khi mở và thao tác excel, theo như kinh nghiệm của tôi thì bạn nên làm như sau.

Bạn vào Tools - Options - Calculation, chọn Manual. Như thế excel sẽ chạy nhanh hơn rất nhiều khi bạn thao tác. Sau khi thao tác xong, nếu bạn muốn thấy kết quả đúng thì phải bấm F9.

Bạn thử xem nhé. Chúc bạn thành công.
 
To workman : cách này mình đang sử dụng, nhưng mà mình thấy như vậy mất công quá, không lẽ mỗi lần nhập liệu thì phải nhấn thêm F9 sao?
Mình đã gửi file lên rồi, các bạn xem giúp mình nhé.
 
Lần chỉnh sửa cuối:
bigbigworld đã viết:
To workman : cách này mình đang sử dụng, nhưng mà mình thấy như vậy mất công quá, không lẽ mỗi lần nhập liệu thì phải nhấn thêm F9 sao?
Mình đã gửi file lên rồi, các bạn xem giúp mình nhé.
Chào bạn, mình đã Test thử file của bạn thấy chạy rất tốt, open file, và update khi thay đổi dữ liệu cũng rất nhanh. Máy của bạn cấu hình quá yếu chăng? Nên đóng các ứng dụng khác khi máy của bạn có cấu hình thấp!
 
Mình cũng đã từng làm file đến 5000 hàng như bạn đó. Máy mình cấu hình cũng cao không thấp mà sao vẫn làm rất chậm. Nếu làm hết 5000 dòng thì máy treo không xử lý được. Mình đành chia nhỏ ra làm. Có bạn nào có cách nào hay hơn thì chỉ giúp mình nha.
 
Tôi sử dụng hàm vlookup nhưng chỉ nhận được mảng tìm kiếm rất nhỏ

Khi tôi sử dụng hàm vlookup như file đính kèm chỉ đúng với các khoảng tìm kiếm khác nhau. Các anh có thể xem và giúp đỡ tôi chỉ ra là tại sao được không?
Xin cám ơn các anh.
 

File đính kèm

Lần chỉnh sửa cuối:
File của bạn không giải nén được. Bạn có thể upload lên lại không?
 
phucymvn đã viết:
Khi tôi sử dụng hàm vlookup như file đính kèm chỉ đúng với các khoảng tìm kiếm khác nhau. Các anh có thể xem và giúp đỡ tôi chỉ ra là tại sao được không?
Xin cám ơn các anh.


Bạn xem lại tham số cuối trong các hàm VLookup của bạn nhé. Tham số này chỉ là 2 giá trị 0 hoặc 1 thôi.

Khi là 0: tham chiếu lookup value chính xác vào lookup range
Khi là 0: tham chiếu lookup value vào một lookup range đã được sắp xếp theo thứ tự tăng dần.

Trong file của bạn thì chỉnh tham số cuối về 0 hết nhé.

FB.
 
phucymvn đã viết:
Khi tôi sử dụng hàm vlookup như file đính kèm chỉ đúng với các khoảng tìm kiếm khác nhau. Các anh có thể xem và giúp đỡ tôi chỉ ra là tại sao được không?
Xin cám ơn các anh.
Đó là do bạn không thống nhất trong các công thức, và công thức của bạn sai nữa.

Trước hết tôi nói đến mấy cái #REF! của bạn:
Ví dụ:
Ở M3, bạn gõ = VLOOKUP(J5,ASSY!$B$7:$H$31,9,15)
Con số 15 ở cuối công thức này là cái gì vậy bạn ?
Có phải bạn muốn tìm ngày sản xuấtthời gian bắt đầu LR cho tất cả các loại card mà bạn trình bày ở Sheet Card LA ? Và dò với dữ liệu ở Sheet ASSY ?
Nếu đúng như tôi hỏi, bạn chỉ cần sửa công thức
ở F3 = VLOOKUP(C5, ASSY!$B$7:$I$60, 7, 0)

ở F5 = VLOOKUP(C5, ASSY!$B$7:$G$60, 6, 0)
Sau đó bạn copy công thức ở M3 đến tất cả những chỗ nào bạn muốn tìm ngày sản xuất (M3, F15, M15, v.v...) và công thức ở F5 đến chỗ nào bạn muốn tìm thời gian bắt đầu LR (M5, F17, M17, v.v...)

Vấn đề bạn hỏi ở ô C20 cũng vậy:
Bạn gõ: =VLOOKUP(C17,'TANK (2)'!$A$12:$L$36,11,5)
Số 5 ở cuối là cái gì ?

VLOOKUP() chỉ có 2 cách ở tham số cuối cùng, đó là 0 (khi muốn dò chính xác) và 1 (khi muốn dò tương đối).

Bạn chỉ cần sửa C20 = VLOOKUP(C17, 'TANK (2)'!$A$12:$L$36, 11, 0)
là được. Chứ không cần thay A12 = A20 đâu...

Và nên sử dụng cách tìm chính xác (số 0).

Bạn có thể tham khảo thêm Lookup Function ở chữ ký của tôi.
Chúc bạn thành công.
 
Thanks ban BNTT và Funnyboy đã giúp tôi giải đáp.
Nhân đây cho tôi hỏi thêm về file excel tôi đã gửi cho các bạn.
Như bạn BNTT đã hiểu được ý định của tôi định viết: Với cơ sở dữ liệu như vậy tôi muốn in từng loại từ B001 - B024, và hiện tại tôi phải lập bằng tay. Sau khi tôi đọc look up function của bạn BNTT thấy bạn viết mẫu có ô lựa chọn và chỉ cần kéo mũi tên vào 4 vị trí (C5 hoặc C17, J5 hoặc J17 ) chọn dữ liệu mình muốn in trong một trang thì làm như thế nào.
Mong các bạn giúp đỡ mình.
 
Status
Không mở trả lời sau này.

Bài viết mới nhất

Back
Top Bottom