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

Liên hệ QC

Closed poll

  • 1

    Votes: 1 100.0%
  • 2

    Votes: 0 0.0%

  • Total voters
    1
  • Poll closed .
Status
Không mở trả lời sau này.
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

  • thanhtoan.rar
    63.4 KB · Đọc: 96
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:
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.

Em nghĩ là phải tính tổng dồn thôi anh, anh xem , có gì ý kiến thêm ạ.
 

File đính kèm

  • ChuyenRngThanhArr_TinhToan 02-Nov-07 21-58.Zip
    7.3 KB · Đọc: 35
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

  • Vlookup_Right.xls
    20 KB · Đọc: 31
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

  • range_lookup.rar
    61 KB · Đọc: 75
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?
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom