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.
Hàm nào mà không trả về 1 kết quả. Hạn chế của Vlookup, Hlookup là phải tìm từ dòng đầu hay cột đầu (lookup_value). Rất hạn chế.
Còn hàm if thì như trên.
Thu Nghi chủ quan rồi: Hàm mảng trả về không là một kết quả; mà là nhiều kết quả;
Chúng ta thấy có người đã viết hàm mảng tự tạo trả về nhiều kết quả lọc từ 2 sheets đó thôi! Vài lời mong bạn cảm thông cho sự đường đột!
 
Cái hay của bảng tính Excel là dường như nó đã đưa ra khá đầy đủ công cụ và hàm đễ mặc sức chúng ta tung hoành. Việc còn lại là do sáng tạo và kinh nghiệm có dc sau thời giản giãi quyết bài tập. Vậy nếu như bạn muốn biết dc mặc mạnh yếu của từng hàm thì ko gì bằng bạn hãy giãi bài tập thật nhiều. Vì dù sao mỗi người nhìn mặt mạnh yếu của từng hàm là theo cách nghĩ riêng, chưa chắc ai giống ai! Vậy bạn còn chần chừ gì nữa mà ko download những bài người ta thắc mắc và đã giãi quyết trên diển đàn này về máy tính rồi tự giãi quyết theo cách của bạn. Tôi dám chắc thời gian tới bạn cũng sẽ giõi như ai!
ANH TUẤN
 
imissu18 đã viết:
Em ko biết hàm Vlookup, Hlookup va hàm IF có Ưu Điểm và hạn chế của mấy hàm đó là gì? Ai biết xin chỉ em, em đang rất cần biết rất gấp ah -\\/. . Cảm ơn nhiều -=.,, ... Tuni

______________

Bạn xem cách đặt tên đề bài tại đây nha!.

Tôi xin nhận xét ngắn thế này.
Ưu điểm: Không chỉ 2 hàm trên mà tất cả các hmà của Excel đều hướng tới một cách dùng đơn giản, dễ áp dụng. Nói là đơn giản thôi chứ cũng phải học mãi mới áp dụng tốt được.

Nhược điểm: Chỉ khi bạn bắt đầu áp dụng nhiều, mức độ ứng dụng cao thì mới thấy cái nhược điểm chung của các hàm Excel.
Hàm VLookup và HLookup có ý nghĩa như nhau, hàm V* tìm theo chiều dọc (trên xuống dưới) tại cột đầu tiên, H* tìm theo chiều ngang (trái qua phải) và trả về giá trị khi tìm ở cột chỉ định khi tìm thấy.
Không chỉ 2 hàm trên mà tất cả các hàm tìm kiếm trong nhóm Lookup của Excel, điều kiện tìm là điều kiện đơn hay tìm đích danh. Tôi không thể tìm một nhân viêc có số ngày công >20 và số năm công tác là n, hay tìm một nhân viên mà có doanh số bán hàng >1 tỷ....

Nếu ai đó học Access rồi thì thấy không như vậy, nhóm hàm D* của nó rất động,...khó học hơn nhưng làm được những yêu cầu phức tạp.

Cón hàm IF giới hạn chỉ có 7 vòng lõ. Đây là một nhược điểm! Nhưng nếu bạn biết áp dụng thì làm được tất.
Xét một ví dụ kiểu "ngớ ngẩn" thế này: Nếu A là "Nam" thì 100, nếu A là "Nữ" thì là 50. Tôi có hai cách làm như thế này:
= IF(A="Nam",100,IF(A="Nữ,50,0)) --> Có 2 Hàm IF lồng nhau.

Như vậy bạn có thể làm = IF(A="Nam",100,0) + IF(A="Nữ",50,0)

Phân tích logic một chút bạn sẽ thấy A chỉ có thể là 1 trong phương án, chứ không bao giờ cùng xảy ra.

Với cách làm trên các hàm IF không bị bao nhau mà vẫn ra đúng kết quả.

Trong trường hợp có n điều kiện, ta có thể phân tích một chút theo hướng trên sẽ Ok.

------------------------------------------------------------------------
Lan man ngoài vấn đề của bài tôi nói thêm về nhược điểm của một số chức năng hay của Excel.
- Tất cả các phương thức lọc - Filter của Excel cũng chỉ lọc được trên một sổ duy nhất chứ không tạo được quan hệ, kết hợp.
- Chức năng PivotTable rất hay nhưng cũng chỉ tạo trên một sổ đơn không có điều kiện gì cả.
...


Tôi nghĩ để đạt được được ưu điểm chính của Excel làm và nhìn thấy ngay kết quả, một bảng tính thông minh và giản đơn thì mọi cái cũng phải nên đơn giản, vì thế MS đã cố tình không tạo thêm sự phức tạp nữa.

Chỉ những ai có như cầu cao về xử lý dữ liệu thì mấy hạn chế nói trên mới đáng để lo nghĩ mà thôi.


.
 
Hàm VLOOKUP

Xin hỏi làm cách nào để hàm vlookup trong Excel có thể trả về giá trị trống hoặc #N/A nếu như giá trị dò không có, tôi đã thử và trong mọi trường hợp nếu vlookup dò không có giá trị đều trả về giá trị của ô liền kề trước đó mặc dù value không đúng.
 
Chào bạn,

Do tham số cuối của hàm bạn dùng số 1 nên xảy ra vấn đề như bạn nêu, bạn đổi tham số sang số 0.

Tham số cuối của Vlookup dùng là 1 khi và chỉ khi danh sách tham chiếu đã được sắp xếp thứ tự trước.

TP.
 
VLOOKUP(trị dò, mãng, cột dò, kiểu dò)
Với kiểu dò là 0 thì mới cho kết quả chính xác... Tôi e rằng tham số này bạn đang ghi =1 hoặc -1 gì đó (cũng có thể bạn ko ghi gì chăng? Thử thêm tham số này = 0 xem)... Tóm lại, 1 hàm VLOOKUP đầy đũ phải có 4 tham số: Trị dò, mãng, cột dò, kiểu dò
Với kiểu dò =0, nếu VLOOKUP ko tìm dc giá trị thì sẽ cho kết quả =#N/A... Nếu bạn muốn tránh luôn lỗi này thì dùng thêm hàm ISNA
IF(ISNA(VLOOKUP(gì gì đó....)),"",VLOOKUP(gì gì đó...))
Làm thử xem
ANH TUẤN
 
Chú ý: cứ thích dùng mã bằng kiểu NUMBER thì dễ bị lỗi lắm bạn ạ (Bạn xem help thì biết là tại sao). Bạn nên chọn mã bằng kiểu Text (nếu dùng kiểu số thì bạn phải gõ dấu ' trước số hoặc format kiểu text trước khi nhập liệu).
 
Lần chỉnh sửa cuối:
Ko cần = TRUE đâu Diễm à... ko ghi gì nghĩa là true rồi...
ANH TUẤN
 
Cám ơn cả nhà.
Lý do hàm Vlookup của mình không dùng được là do mình copy dữ liệu ( Bảng giá chứng khoán trực tuyến) từ 02 trang web khác nhau vào excel nhưng chúng lại không có cùng định dạng phần chữ ở Mã chứng khoán nên không dùng Vlookup được. Mình đã thử đổi sang Text, ... nhưng vẫn không được.
VD: A1=ABT B1=ABT tại C1:=A1=B1 ---> FALSE
Giúp mình với.
 
Bạn thử tìm trong hai ô đó có khoảng trống không. Nếu có thì xoá toàn bộ khoảng trống đi. Hy vọng là được. Nếu vẫn không được thì bạn up File lên diễn đàn sẽ có người giúp bạn.
 
Định dạng chử thì ăn nhằm gì... Miễn nó đừng bỏ dấu tiếng Việt là OK hết... Bây giờ nếu có sai chăng là kiễm tra lại giống như minhlev đã nói...
ANH TUẤN
 
Cám ơn minhlev
Đúng như bạn nói, mình thử căn lề trái + phải thì thấy có khoảng trống nên không dùng Vlookup được, bây giờ thì OK rồi.
Thank so much.
 
VLOOKUP trên tất cả các sheet!

Còn đây là 1 hàm tự tạo, có tác dụng giống VLOOKUP nhưng nó có thễ dò tìm trên tất cả các sheet... Các bạn xem file, cũng rất dể hiểu... Kết quả tìm dc nằm ở Sheet LookupAll
Mến
ANH TUẤN
 

File đính kèm

Tôi xin mến tăng anh bạn Anh Tuấn và mọi người khác trong GPE 1 UDF tìm giá trị với nhiều điều kiện.

Syntax:

Mlookup(mảng dò tìm, Mảng 1 = điều kiện 1, Mảng 2 = điều kiện 2, Mảng 3 = điều kiện 3, v.v.)

Tôi đính kèm 1 ví dụ nhỏ để dễ tham khảo. Vậy là ta có thể có cách giải quyết khi hàm lookup không làm được trong trường hợp này.

Mến
 

File đính kèm

Hàm VBA Vlookup trên các sh thấy thế nào, tìm từng sh nếu có 3 sh OK thì chỉ lấy sh đầu tiên.
Còn Mlookup thì có thể thế hàm Excel cũng OK
{=Mlookup(D3:D7,A3:A7=H2,B3:B7=H3,C3:C7=H4)}
Ta có thể dùng
=INDEX($D$3:$D$7,SUMPRODUCT(($A$3:$A$7=$H$2)*($B$3:$B$7=$H$3)*($C$3:$C$7=$H$4)*ROW($A$3:$A$7))-ROW($A$2),0)
 
Mr Okebab đã viết:
Thằng này rất hay đấy, liệu có thể biến thành công thức bình thường chứ không phải là công thức mảng được không vậy???

Thân!

Vì các đối số thứ 2 của hàm là biểu thức logic mà vùng = (só sánh) với một giá trị nên bắt buộc phải dùng CT mảng, nếu không lỗi là #VALUE đương nhiên. Hàm này phải dùng cách của CT mảng thì mới có ý nghĩa.

Để làm được hàm này, người làm ra có đẳng cấp cao về lập trình VBA, hiểu rõ cách làm việc của FormulaArray trong Excel.

Mời các bác tham khảo tại đây:
http://www.excelguide.eu/NL_MultipleLookup.html
 
TuanVNUNI đã viết:
Vì các đối số thứ 2 của hàm là biểu thức logic mà vùng = (só sánh) với một giá trị nên bắt buộc phải dùng CT mảng, nếu không lỗi là #VALUE đương nhiên. Hàm này phải dùng cách của CT mảng thì mới có ý nghĩa.

Để làm được hàm này, người làm ra có đẳng cấp cao về lập trình VBA, hiểu rõ cách làm việc của FormulaArray trong Excel.

Em không hiểu lắm (vì đầu óc hơi be be be !!!), nhưng hàm sumproduct cũng dùng các mảng như vậy, chỉ có khác là nó sẽ lấy các giá trị thỏa mãn cộng lại với nhau. Nếu chỉ có 1 giá trị thì sẽ là chính giá trị tìm thấy

Hàm trên cũng tìm như vậy, có cái khác là chỉ tìm 1 giá trị, tuy nhiên giá trị có thể là số hoặc chuỗi

Vậy sao sumproduct đâu có dùng mảng đâu ??
 
Theo nguyên tắc, các giá trị tham gia vào biểu thức tính toán phải có cùng kiểu giá trị. A1:A10 > B1 là sai kiểu, A1:A10 là một vùng (Range) còn B1 là một giá trị (Value)-->khác kiểu. Những trường hợp như vậy, Hàm Excel trả về giá trị #VALUE. Nhấn CTRL+SHIFT+ENTER (Công thức mảng) sẽ cho chạy từng dòng một từ A1->A10 và khi đó nó đồng nhất về kiểu giá trị.

Làm một thí nghiệm kiểm tra vùng A3:A7 có ô nào chứa "Smith" không?
1- Gõ công thức sau và ENTER
=OR(A3:A7="Smith")

2- Gõ công thức sau và CTRL+SHIFT+ENTER
=OR(A3:A7="Smith")

Vậy sao sumproduct đâu có dùng mảng đâu ??
Trường hợp này chắc MS có bí quyết riêng rồi, hic. Tớ phải ngâm cứu thêm đã.
 
Không ngờ cái UDF này là đề tài thảo luận khá sôi nổi. Và câu hỏi của anh bạn Okebab rất hay.

Thật tình mà nói khi mới làm quen với XL tôi thấy công thức array là khó hiểu nhất và thường tránh dùng loại này, nếu có thể được.

Khi am tường về cách áp dụng array cho công thức sẽ giúp tận dụng hết cái chức năng tính toán tiềm ẩn trong XL. Giống như bạn chạy xe hơi và bấm nút “turbo overdrive – on” để máy chạy mạnh hơn và tăng giảm ga để xe chạy đầm hơn vậy. Bạn ThuNghi là vua của công thức sumproduct rồi đó.

Theo thiển ý mình thì như vầy. Trong công thức array từng phần tử trong mảng được tính vòng lập từng cái 1. Còn công thức thường thì XL tính theo 1 đơn vị vùng hợp nhất tuy là có nhiều ô (single block of cells). Như thí dụ của anh TuanVNUNI

1- Gõ công thức sau và ENTER
=OR(A3:A7="Smith")

2- Gõ công thức sau và CTRL+SHIFT+ENTER
=OR(A3:A7="Smith")
Thí dụ 1 là công thức thường không cho kết quả tìm trong khi cái thứ 2 là dưới dạng array evaluate từng ô trong mảng A3:A7.

Điều lý thú là khi khi ta gõ hàm sumproduct, mặc dù chi tiết địa chỉ các vùng tính toán và các phần tử vùng đều toàn là dạng array, ta chỉ bấm Enter.

Trở lại câu hỏi của Okebab - có cách nào làm cái UDF này như là 1 công thức bình thường (tức là chỉ gõ Enter thôi). Tôi nghĩ là không. Nếu ai có ý kiến khác thì xin mòi đóng góp để mọi người hiểu thêm về vấn đề nêu ra.

Các bạn có thể vô trang web nầy tham khảo thêm về khái niệm hàm ở dạng array. Dưới trang đó có cho down về cái workbook thí dụ nửa.

http://www.cpearson.com/excel/ArrayFormulas.aspx
 
các bác xem cho em hàm vlookup này với

em không hiểu em làm sai chỗ nào trong file excel bên dưới, mong các bác chỉ giáo. Thanks!
 

File đính kèm

Bạn thêm vào công thức như sau
=VLOOKUP(LEFT(B12,2),solieu_th2,2,0)
 

File đính kèm

công thức của bạn thiếu số 0 ở sau cùng: =VLOOKUP(LEFT(B17,2),solieu_th2,2,0)

Mến
NHT
 
cảm ơn bạn nhưng vẫn không được bạn ạ, chỉ được ở cột đơn giá vẫn không được, bạn xem lại giúp mình,thanks
 
connhangheo đã viết:
cảm ơn bạn nhưng vẫn không được bạn ạ, chỉ được ở cột đơn giá vẫn không được, bạn xem lại giúp mình,thanks
Bạn tải file ở bài #2 về xem chưa ?
Cột đơn giá Table_array của bạn không đúng.

TDN
 
Vlookup

Bạn xem cái này nha. Chú ý đến điều kiện lọc của hàm IF và VLOOKUP, nhất là khai báo Table_array của VLOOKUP
 

File đính kèm

Lần chỉnh sửa cuối:
hàm của bạn thiếu số 0 ở sau cùng : viết thế này thì đủ và đúng
: =VLOOKUP(LEFT(B16,2),solieu_th2,2,0)

Bạn xem lại phai gửi kèm nhé!
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Em muốn các bác áp dụng vào trường hợp cụ thể giúp em nhé:
Em có sheet đầu là tồn kho của các vật tư theo từng kho (mỗi kho trên 1 cột và có tên kho ở đầu cột làm tiêu đề)
Sheet 2: là tên kho có trong sheet tổng (vd: kho01). Em muốn tạo 1 hàm để chuyển số liệu từ sheet đầu với yêu cầu: lọc theo mã vật tư và trả về giá trị trong cột có tên đầu là kho01 ở sheet tổng. Nếu không có cột kho đó thì trả về giá trị = số 0 vd: ko có kho03 thì số lượng các vật tư trong sheet kho03 sẽ có giá trị 0.
Các bác nghiên cứu giúp em nhé.
thanks
 

File đính kèm

Lần chỉnh sửa cuối:
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.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Cái này chỉ cần if(n=0,0,Vlookup(....,n,0)) là OK
Vấn đề n giải quyết n= if(type(match())=16,0,match())
 
Thậm chí ko cần 1 hàm nào cả luôn
Sheet Kho1, D3 = tong!D6 rồi kéo fill xuống
Sheet Kho2, D3 = tong!E5 rồi kéo fill xuống
Sheet kho3, D3 = tong!F5 rồi kéo fill xuống
ANH TUẤN
 
Sai ở chổ nào? Bạn nói cụ thể đi.. chứ các bạn ở đây ai cũng đã làm ra kết quả, có vấn đề gì đâu...
ANH TUẤN
 
anhtuan1066 đã viết:
Thậm chí ko cần 1 hàm nào cả luôn
Sheet Kho1, D3 = tong!D6 rồi kéo fill xuống
Sheet Kho2, D3 = tong!E5 rồi kéo fill xuống
Sheet kho3, D3 = tong!F5 rồi kéo fill xuống
ANH TUẤN

Cách của bạn có 1 vấn đề là nếu trong kho01 vị trí mặt hàng thay đổi thì sẽ ko ổn. mình muốn dùng hàm để còn kiểm tra nếu đúng mặt hàng thì mới điền số lượng vào.

ThuNghi có thể chỉnh giúp mình trực tiếp trên file của mình đc ko? Mình rất không thạo các hàm trong excel (Không phải do mình lười đâu nhé)
Thanks
 
Lần chỉnh sửa cuối:
Bạn xem file nhé, nhớ là công thức tại ô chữ đỏ có khác hơn.
Nếu tên sheet nằm trong danh mục kho thì sẽ có số liệu.
 

File đính kèm

À hàm đầy đủ của nó là thế, số 0 là tìm kiếm tuyệt đối, 1 là tương đối ( từ dòng đến dòng kế tiếp), còn nếu chỉ viết như bạn thì phải sắp xếp DL theo TT thì mới đwocj cả.
 
connhangheo đã viết:
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.
Giải thích thêm cho bạn đối số cuối cùng của VLOOKUP (hoặc HLOOKUP)

range_lookup =1, cột (dòng) đầu tiên của bảng dò (table_array) phải sắp xếp theo thứ tự từ nhỏ đến lớn (..., -2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE) nếu không kết quả sẽ không đúng vì Excel dò tương đối.
Dữ kiện dò (lookup_value) có thể không có trong cột đầu tiên của bảng dò.

range_lookup =0, cột đầu tiên của bảng dò (table_array) không cần sắp xếp theo thứ tự nhưng Dữ kiện dò (lookup_value) bắt buộc phải có trong cột đầu tiên của bảng dò. Nếu không có sẽ bị lỗi #N/A.

Nếu không khai báo range_lookup, Excel xem như range_lookup=1.
 
Cần Giúp đỡ Về Hàm Vlookup

Chào Các Bạn Tôi Có 1 Bài Tập Về Hàm Vlookup Nhưng Không Biết Làm Thế Nào Mong Các Ban Giúp đỡ
 

File đính kèm

Ý của bạn có phải trong cột mã hành liên kết vừa mã hành vừa tên hàng phải không
 
Sai là cái chắc rồi... Lý ra phải là như vầy nè:
G5 =VLOOKUP(LEFT(F5,1),$C$15:$F$17,2,0)&" loại "&RIGHT(F5,1)
H5 =VLOOKUP(LEFT(F5,1),$C$20:$E$22,RIGHT(F5,1)+1,0)
I5 =VLOOKUP(LEFT(F5,1),$C$15:$F$17,4,0)
Chú ý: từ D15:D17 bạn merge cell như thế là ko đúng đâu nhé! Sẽ gây nhiều phiền phức ko đáng có...
Mến
ANH TUẤN
 
Công thức ở ô G5 của bạn không ra kết quả là đúng. Vì giá trị RIGHT(F5,3) là dạng text trong khi giá trị ở ô I15 lại là dạng số. Muốn công thức của bạn hoạt động đơn giản thêm *1 vào sau RIGHT(F5,3) thôi. Công thức mới tại ô G5 là:
=VLOOKUP(LEFT(F5,1),C15:F17,2,0)&""&VLOOKUP(RIGHT(F5,3)*1,I15:K16,2,0)
 
Trong ô G5 bạn nhập công thức:
=VLOOKUP(LEFT(F5,1),$C$15:$F$17,2,0)&" "&VLOOKUP(VALUE(RIGHT(F5,2)),$I$15:$K$16,2,0)
Trong ô H5 bạn nhập:
=IF(RIGHT(F5,1)="1",VLOOKUP(LEFT(F5,1),$C$20:$E$22,2,0),VLOOKUP(LEFT(F5,1),$C$20:$E$22,3,0))
Trong ô I5 bạn nhập:
=VLOOKUP(LEFT(F5,1),$C$15:$F$17,4,0)
Mà bạn đừng nên dùng Merge Cells trong Vùng tìm kiếm (D15:E15), như vậy rất khó để bạn xác định cột trả về.
 
Dùng Hàm vlookup tìm giá trị theo 2 biến

Em muốn hỏi: dùng hàm Vlookup để tìm kiếm gía trị theo 2 biến thì cần kết hợp các hàm khác như thế nào?Hoặc có thể chỉ dùng 1 hàm Vlookup có được không ạ? Ví dụ như tra hệ số k theo l/b và z/b...Cảm ơn các anh nhiều.
 
Lần chỉnh sửa cuối:
dùng hàm Vlookup để tìm kiếm gía trị theo 2 biến thì cần kết hợp các hàm khác như thế nào?
Tôi thấy bạn pce hỏi cũng có lý, nếu không dùng vba, hay Execl2007 thì Vlookup theo 2 biến cũng khó.
Theo tôi dùng if kết hợp offset để thay vùng range. Nếu có vd sẽ cụ thể.
 
Vâng em cảm ơn nhiều!Em đưa ví dụ (co file kèm theo) trong bài này em muốn tìm hệ số ko theo hai biến z/b và l/b.
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
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.
Cách mình tự học chức năng các hàm trong Excel như này, thay vì mình đánh trực tiếp tên công thức trực tiếp vào ô, mình sẽ chọn Insert\Function. Khi bạn chọn hàm cần dùng, hộp thoại Function Agrument hiện ra, với một chút kiến thức Tiếng anh, bạn sẽ rõ hiểu hơn từng chức năng của các phần tử trong hàm. Chúc bạn vui !
 
Chắc bạn chưa biết cách upload. Bạn xem file ví dụ nhé. Áp dụng thủ thuật.
Thân
 

File đính kèm

cái lày thì PCE chỉ cần dùng hai hàm Index và match lồng vào nhau thôi, chú ý dữ liệu dạng gì? cần phải thống nhất. Bạn tìm thêm trên DD về hàm Index và Match nhé, đã chỉ dẫn rõ ràng rồi.
Thân.
PS. Đây là link đến bài viết
http://www.giaiphapexcel.com/forum/showthread.php?t=264
 
Lần chỉnh sửa cuối:
ban oi giup minh lam bai nay voi ham Vlookup moi? cam on truoc nhe. Ban dung dung ham if nhe! dang bai ve giai phuong trinh bac hai
 
/(/hắc bạn về nội quy diễn đàn nha: Phải có dấu tiếng việt

man231186 đã viết:
ban oi giup minh lam bai nay voi ham Vlookup moi? cam on truoc nhe. Ban dung dung ham if nhe! dang bai ve giai phuong trinh bac hai

Bạn tìm trên diễn đàn với từ khóa: 'phương trình bậc hai'
hay tham khảo ở đây, nếu đúng í thì đến nội quy diễn đàn đọc lại ba lần nữa nha!
http://www.giaiphapexcel.com/forum/showthread.php?t=1265
 
Ham Vlookup() tim tren 2 sheet khac nhau.

Mình đang làm báo giá form mẫu cho công ty. Đại loại thê này, khi đánh cole No. ở sheet báo giá, thì các thông số sẽ tự tìm ở 2 sheet data còn lại, để cho ra dữ liệu. Nếu mà 1 sheet thì mình làm ok, nhưng 2 sheet thi làm thế nào nhỉ....
Thank you cac bac/
 
Nếu mà 1 sheet thì mình làm ok, nhưng 2 sheet thi làm thế nào nhỉ.... thì làm hàm tìm kiếm như bạn nói chứ sao. Gửi file ví dụ lên đi bạn,
 
Day la vi du cua minh
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Với mã K1009 ô C6=VLOOKUP(B6;[Nhap2.xls]Sheet1!$A$1:$B$7;2;0)
Trong đó [Nhap2.xls]Sheet1!$A$1:$B$7 là vùng A1 đến B7 thuộc Sheet1 của File Nhap2.xls
File Nhap2.xls có chứa dữ liệu của bạn đã mở. Vùng dữ liệu nên đặt Name. Khi nhập vùng tìm kiếm thì bạn truy vấn đến file nhap2.
Thân mến!
 
Có phải tìm Data1 không có thì tìm sang data2
Bạn dùng ct sau:
C6:=IF(ISNA(VLOOKUP($B6,data1!$B$6:$D$20,2,0)),"",VLOOKUP($B6,data1!$B$6:$D$20,2,0))&""&IF(ISNA(VLOOKUP($B6,data2!$B$6:$D$20,2,0)),"",VLOOKUP($B6,data2!$B$6:$D$20,2,0))
D6:=VALUE(IF(ISNA(VLOOKUP($B6,data1!$B$6:$D$20,3,0)),"",VLOOKUP($B6,data1!$B$6:$D$20,3,0))&""&IF(ISNA(VLOOKUP($B6,data2!$B$6:$D$20,3,0)),"",VLOOKUP($B6,data2!$B$6:$D$20,3,0)))
 
Đồng ý rằng trong trường hợp này Excel cũng giải quyết dc, nhưng có phải là công thức đã phức tạp đi rất nhiều ko? Tôi đang thắc mắc tại sao bạn ko đưa chung dử liệu vào 1 sheet nhỉ?
Công thức của ThuNghi trong trường hợp này thì dài quá ko cần thiết... Lấy cái của SoiBien, kết hợp thêm 1 cái IF ở trên đầu cùng là ổn rồi...
=IF(B6="","",IF(ISNA(.... )
Mến
ANH TUẤN
 
Lần chỉnh sửa cuối:
Một cách điền công thức VLOOKUP nhanh

Tôi thường điền nhanh công thức VLOOKUP bằng đoạn VBA sau:
Sub QuyetToanChi5()
Dim sPartFormula As String, sPF2 As String
sPartFormula = "=VLOOKUP($A4,Data,"
sPF2 = ",0)"
Windows("QToanChi_Rp.xls").Activate
Range("L4").FormulaR1C1 = "=RC[-2]*RC[-1]"
Set MyRg = Range("b4:f4,h4:k4,m4")
For Each smallrng In MyRg
With smallrng
.Formula = sPartFormula & .Offset(-2, 0) & sPF2
End With
Next smallrng
End Sub

Bạn nào biết cách dùng vòng lạp tương tự, nhưng khai báo các Range là Array?
 

File đính kèm

Vi minh thuong xuyen phai update du lieu 2 sheet con lai. cho nen khong the cho vao mot sheet,.....
 
Muốn cho dễ hiểu:
DK1: IF(ISNA(VLOOKUP($B6,data1!$B$6:$D$20,2,0)),"", VLOOKUP($B6,data1!$B$6:$D$20,2,0))
Nếu tìm không thấy trong data1 thì lấy rỗng
DK2: IF(ISNA(VLOO KUP($B6,data2!$B$6:$D$20,2,0)),"",VLOOKUP($B6,data 2!$B$6:$D$20,2,0))
Nếu tìm không thấy trong data2 thì lấy rỗng
Ghép 2 cái lại =DK1&""&DK2
Còn IF(ISNA(...),"" nghĩa là không tìm thấy $B6 thì gán ""
 
Gửi các bạn xem thêm các đoạn code, mục đích: vlookup từ Sheet Souce, chép ra giá trị, bỏ bớt các cột lặp lại vừa để dể nhìn, vừa ...đở tốn mực in, file mẫu là 2 file mà tôi đã upload
Mã:
Option Explicit
Dim smallrng As Range
Dim MyRg As Range
Dim irEnd As Integer 'khai bao bien interger cua row cuoi cua destination extract
 
Sub QuyetToanChi_RpOpen()
' Macro recorded 15-10-2007 by MR
'D:\PTC\Accounting\BalanceSheet\Report\200709QToan Chi_Rp.xls
'D:\PTC\Accounting\BalanceSheet\Report\QToanChi_Rp .xls
Workbooks.Open Filename:="D:\PTC\Accounting\BalanceSheet\Report\QToanChi_Rp.xls"
End Sub
 
Sub CloseMe()
ThisWorkbook.Close True
End Sub
 
Sub Main()
QuyetToanChi_RpOpen
' Tim dong cuoi cua destination extract
With Worksheets("QToanChi")
    irEnd = .Range("a4").End(xlDown).Row
End With
Input1RowFormula
FillDown (irEnd)
CopyValue (irEnd)
MyTypeDelete_CellDuplicateInColumn (irEnd)
MyTypeDCellDupC (irEnd)
MyTypeDCellDupC_I (irEnd)
End Sub
 
'- Buoc 2: la filter tai file data cac so lieu (record) cua C Chi,
'          nho phai danh so lai dung thu tu cot (mau do)de dung trong vlookup
'- Buoc 3: copy phan data da filter vao file report quyet toan Chi,
'          luu y den ID record, o day copy den cot so 29
' Close file data de nhe may
'Dat vung Data (Name) o Sheet Source, copy ID Record da loc sang sheet QToan Chi
'Kiem tra, copy dong tieu de co chua ca so ID cot giua 2 Sheet Source va Destination
Sub Input1RowFormula()
Dim sPartFormula As String, sPF2 As String
sPartFormula = "=VLOOKUP($A4,Data,"
sPF2 = ",0)"
Windows("QToanChi_Rp.xls").Activate
With Workbooks("QToanChi_Rp.xls").Worksheets("QToanChi")
    '.DisplayZeros = False 'record:ActiveWindow.DisplayZeros = False
    .Range("L4").FormulaR1C1 = "=RC[-2]*RC[-1]"
    Set MyRg = .Range("b4:f4,h4:k4,m4")
    For Each smallrng In MyRg
    
    With smallrng
        .Formula = sPartFormula & .Offset(-2, 0) & sPF2
    End With
    Next smallrng
End With
Sheets("QToanChi").Activate
'FillDown (lrEnd) de o day se bao bien chua khai bao
End Sub
 
Sub FillDown(irEnd As Integer)
' Macro recorded 15-10-2007 by MR
Range("B4:M4").AutoFill Destination:=Range("B4:M" & irEnd), Type:=xlFillDefault
End Sub
 
Sub CopyValue(irEnd As Integer)
Set MyRg = Range("B4:M" & irEnd)
'Trong case nay ta kg dung them for each van ok
With MyRg
    .Value = .Value
End With
Set MyRg = Nothing
End Sub

Sub MyTypeDelete_CellDuplicateInColumn(irEnd As Integer)
Dim j As Integer, i As Integer
'Dung cu phap rngData.Cells(i,k) de chon cell tuong doi trong rngData, va bat dau tu 1
Set MyRg = Range("c4:c" & irEnd)
i = 1
j = i + 1
'Cells(1, 3) = rngData.Rows.Count = number 17
For j = 2 To MyRg.Rows.Count
    With MyRg
        If .Cells(j, 1) = .Cells(i, 1) Then
            .Cells(j, 1) = ""
            .Cells(j, 1).Offset(0, -1) = ""
            '.Cells(j, 1).Offset(0, 8) = ""
            '.Cells(j, 1).Offset(0, 9) = ""
        Else
            i = j
        End If
    End With
Next j
Set MyRg = Nothing
End Sub
 
Sub MyTypeDCellDupC(irEnd As Integer)
'Origine code From nvs GPE
Dim j As Integer, i As Integer
Set MyRg = Range("f4:f" & irEnd)
i = 1
j = i + 1
For j = 2 To MyRg.Rows.Count
    With MyRg
        If .Cells(j, 1) = .Cells(i, 1) And .Cells(j, 3) = .Cells(i, 3) Then
            .Cells(j, 1) = ""
            .Cells(j, 2) = ""
            .Cells(j, 3) = ""
            '.Cells(j, 1).Offset(0, 8) = ""
            '.Cells(j, 1).Offset(0, 9) = ""
        Else
            i = j
        End If
    End With
Next j
Set MyRg = Nothing
End Sub
 
Sub MyTypeDCellDupC_I(irEnd As Integer)
Dim j As Integer, i As Integer
'Dung cu phap rngData.Cells(i,k) de chon cell tuong doi trong rngData, va bat dau tu 1
Set MyRg = Range("i4:i" & irEnd)
i = 1
j = i + 1
'Cells(1, 3) = rngData.Rows.Count = number 17
For j = 2 To MyRg.Rows.Count
    With MyRg
        If .Cells(j, 1) = .Cells(i, 1) Then
            .Cells(j, 1) = ""
            '.Cells(j, 1).Offset(0, -1) = ""
            '.Cells(j, 1).Offset(0, 8) = ""
            '.Cells(j, 1).Offset(0, 9) = ""
        Else
            i = j
        End If
    End With
Next j
Set MyRg = Nothing
End Sub
 
Sub NameData()
' NameData Macro
' Macro recorded 15-10-2007 by MR
Workbooks("QToanChi_Rp").Names.Add Name:="Data", RefersToR1C1:="=Source!R4C1:R33C29"
End Sub
Sub NameDelete()
' NameDelete Macro
' Macro recorded 15-10-2007 by MR
Workbooks("QToanChi_Rp").Names("Data").Delete
End Sub
 
Chỉnh sửa lần cuối bởi điều hành viên:
?Hỏi về Vlookup trong Form

Ta co 1 Range MHList có 20 cột
Trong form thì ta nên gán RowSource là 20 cột để có thể

Mã:
If Me.MHList.Value <> "" Then
 ActiveCell.Value = Me.MHList.Value
 ActiveCell.Offset(0, 1).Value = Me.MHList.Column(1)
.........................
 ActiveCell.Offset(0, 20).Value = Me.MHList.Column(20)

Hay là chỉ chọn RowSource là 2 cột thôi còn lại dùng Vlookup theo Me.MHList.Value
Xin cám ơn.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Không biết câu hỏi của bạn có đúng như tôi nghĩ không.
Sub CopyRange này sẽ copy dữ liệu trong vùng có name là MHList vào nơi mà con trỏ đang chọn.
MHList có số cột, số dòng tùy ý.

Mã:
Sub CopyRange()
Dim MHL As Range
Set MHL = Range("MHList")
r = ActiveCell.Row
c = ActiveCell.Column
If MHL.Cells(1) <> "" Then
  Range(Cells(r, c), Cells(r + MHL.Rows.Count - 1, c + MHL.Columns.Count - 1)).Select
  n = 1
  For Each mycell In Selection
    mycell.Value = MHL.Cells(n)
    n = n + 1
  Next
End If
End Sub
 

File đính kèm

Range("MHList") này được tạo ra khi chọn tìm theo MaHang, tôi chỉ lấy 2 cột Mả và Tên (nhiều hơn sợ nặng) làm RowSource cho listbox. Chọn xong thì tôi dùng Vlookup(Ma,DMHH,i,0) gán vào sh.
Đang phân 2 công đọan:
- Range("MHList") có 20 cột và còn lại lấy theo Me.MHList.Column(i) hay là vòng lặp.
- Range("MHList") chỉ 2 cột mã và tên, còn lại dùng Vlookup.
Cái nào thì tối ưu hơn.
 
Thank you cac bac. Neu em lam 3 sheet thi chac cung tuong tu nhu the nhi,....Bac Soibien hoac bac nao co the giup em duoc khong?
 
Nếu thêm thành 3 sh thì ct theo file SoiBien phải sửa lại.
Tóm lại dùng như sau:
Bạn nhấn Ctr F3 và nhập vào: DKn=IF(ISNA(VLOOKUP($B6,datan!$B$6:$D$20,2,0)),"",VLOOKUP($B6,datan !$B$6:$D$20,2,0))
n=1...,9
Nhớ đặt tên sh là Data1, Data2,...,Data9
=> C6=DK1&""&DK2&"".....&DKn
Sao bạn không đánh có dấu, lỡ reply rồi, nhớ gõ dấu vào nhé. Làm ơn!
 
Lần chỉnh sửa cuối:
Anh ThuNghi gởi bài của anh lên để anh em tham khảo
 
Các bác giúp em dùng hàm vlookup tìm trên 3 sheet được không,.em áp dụng tìm trên 3 sheet mà cứ thấy báo lỗi...không hiểu sao...../
Thank you các bác
Hatcamthao
 

File đính kèm

Làm vầy nè bạn ơi... Phải đặt name cho công thức gọn lại, nếu ko thì công thức bạn sẽ dài.. 1 Km luôn đấy! Hi.. hi...
ANH TUẤN
 

File đính kèm

Cái file này tôi load của Mr OkeBab, có thêm tham gia của tedaynui.
Trong Sh Nhap nếu dùng Vlookup tại C2, D2 sau đó chuyển sang value thì hay hơn hay là dùng Me.MHList.Column(i).
Bạn xem file nhé!
 

File đính kèm

Cám ơn bác Anh Tuấn rất nhiều,...
Bác giỏi thế này sao không đi dạy học đi nhỉ....
 
hatcamthao đã viết:
Cám ơn bác Anh Tuấn rất nhiều,...
Bác giỏi thế này sao không đi dạy học đi nhỉ....
Vì cạnh tranh hòng lại với mấy thầy ở đây như PhanTuHuong, ttphong2007 chẳng hạn... ha... ha...
 
Như vậy là bạn chưa hiểu về hàm if, thế này nhé:
If(đk,"Đúng thì làm cái này","Sai thì làm cái này")

Với 2 sheet bạn sẽ dùng 1 hàm If mà thôi:
If("Nếu không tìm được trong sh1","ta đi tìm trong sh2","vậy thì lấy sh1")

hàm ISNA() nói cho ta biết (true,false) rằng có tìm được hay không? Bạn để ý đi, nếu dùng Vlookup bình thường, nếu tìm không được thì bạn sẽ nhận được kết quả tại ô đó là #N/A, N/A chính là : Not Available. Hàm ISNA chính là IS Not Available.

Bạn dùng hàm If để "nói" cho Excel biết là nếu tìm không được trong sh1 (bằng hàm ISNA và hàm IF), thì qua sh2 tìm

Vậy bạn cũng phải dùng hàm ISNA và hàm IF để "nói" cho Excel biết là nếu tìm không được trong sh2 thì phải tìm trong sh3.

Với công thức ta sẽ diễn đạt thế này:

if(ISNA(sh1),"đúng thì ta tìm tiếp trong sh2","sai thì có nghĩa là tìm được, khỏi tìm tiếp")
____Khi tìm trong sh2 bạn sẽ cũng phải bảo cho nó biết là "nếu tìm không được trong sh2 thì ông Excel làm ơn tìm trong sh3"
____Vậy để nói như trên bằng hàm thì bạn cũng dùng như thế
____IF(ISNA(sh2),"đúng thì ta tìm tiếp trong sh3","sai thì có nghĩa là tìm được, khỏi tìm tiếp")

v.v.v.v

vậy là "nói" với Excel bằng hàm cho công việc tìm trên 3 sh, bạn sẽ phải liên kết lại các điều đã phân tích:
IF(ISNA(sh1),if(ISNA(sh2),"Tìm trong sh3","Tìm trong sh2"),"Tìm trong sh1")

Đôi lời giải thích, hy vọng bạn hiểu rõ hơn về hàm IF và cách dùng nó lồng vào nhau để bảo cho ông Excel hiểu. Hì hì!
 
Theo tôi dùng cách & dễ hiểu hơn, nếu bạn ấy muốn có 10 data cũng dễ triển khai.
 

File đính kèm

Gưỉ hatcamthao hàm vlookup tìm kiêm tất cả dữ liêu có tren máy của bạn
 
Có 1 hàm có thể tìm dc dử liệu trên tất cả các sheet nhưng là hàm tự tạo bạn à... Trên diển đàn này tôi đăng bài ấy khá lâu.. hình như nằm trong box "Excel và các công thức" thì phải... tuy nhiên ở đây ta bàn về chuyện những công thức thường phối hợp với nhau xem thử khà năng dc tới đâu... Tất nhiên với 100 sheet mà dùng công thức thường này thì.. hơi tê... Lời khuyên vẫn là bạn nên cho tất cả vào 1 sheet... Đó là cách nhập liệu hiệu quả nhất, có thể dể dàng trích xuất dử liệu mà ko cần nhờ đến hàm tự tạo nào cả!
 
Gửi hatcamthao tôi lần đầu post bài,nên nói ko rõ,hàm vlookup tìm kiếm được tất cả, kể cả trên bât kỳ file .xls tồn tại trên máy bạn.Bạn cứ việc dùng chuột bôi những vùng dữ liệu của bất kỳ sheet nào trên cùng một file .xls, hoặc của một file .xls khác để tham chiếu nhớ chú ý chính xác các thông số tham chiếu khác cho chính xác,hôm nào tôi sẻ gửi chobạn ví dụ cụ thể
 
vấn đề về hàm VLOOKUP và liên quan đến ngày tháng..

Hey, trước tiên xin lỗi các anh(chị),vì lần post bài trước Haji đã ko post bài có dấu( vi fạm qui tắc)....vì lúc đó post vội wóa nên quên mất........Xin lỗi nha!!!!

Kỳ này, Haji post bài hỏi tiếp.......( lần này mong là không vi phạm gì nữa..////// ),Mong các anh(chị) giúp em dùm nhé!
Thanks a lot!!!!!//**/

Em có gủi file đính kèm.

Vấn đề thứ hai Haji muốn hỏi có liên quan đến ngày tháng:
Đề bài cho hạn thanh toán là 01/05/03
ngày nộp của cơ quan A là:20/04/03
đề bài yêu cầu ghi vào cột Ghi chú như sau: Nếu ngày nộp sau hạn thanh toán 7 ngày, thi ghi" lưu ý", ngược lại không ghi gì cả
Haji đã làm như thế này but ko ra được kết quả:
=if(ngày nộp-hạn thanh toán>7,"lưu ý",0)
Các anh chị giúp em vấn đề này luôn nhá.
Thanks again!@$@!^%
 

File đính kèm

Lần chỉnh sửa cuối:
Cột "ngày nộp" đâu hả bạn?
Thử VD này xem
 

File đính kèm

Lần chỉnh sửa cuối:
Giãi thử ko biết đúng ko? Kiểm tra lại nha!
Trong file có mấy chổ bị thiếu, tôi đã thêm vào, chẳng hạn như ko có đơn giá phòng cho loại B!
ANH TUẤN
 

File đính kèm

=IF(NgayNop<=HanThanhToan,"",IF(NgayNop-HanThanhToan<7,"","Luu y"))
 
Vlookup

Xem lại định dạng sau khi lấy ngày nộp - hạn ngày thanh toán đi bạn, nếu để nó trong hàm value(), mình nghĩ là OK đấy

---------------------
Minh Trí, nick : trantri1311
 
Update thường xuyên 02 sheet kia thì có sao đâu bạn, cho vào 01 sheet đặt data bên sheet chung = data bên sheet 01, cho nó khoảng 5000 rows đi, rồi đặt tiếp data bên sheet chung = data bên sheet 02

Như vậy update nhiêu chẳng được, excel không khó chỉ khó là do mình sắp xếp data mà thôi

--------------
Minh Tri, nick : trantri1311, URL :www.cafethanhpho.com
 
Nếu if nhiều quá thì các bác có thể nghiên cứu thêm hàm CHOOSE.

Thân!
 
Giúp đỡ về hàm Vlookup

tôi muốn dùng vlookup để lấy giá trị ở cột bên trái của cột cần tham chiếu. Mong các bạn chỉ giáo!
 
Lần chỉnh sửa cuối:
Bạn có thể đọc kỹ nội dung của hàm vlooup.
Cụ thể như sau
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value: giá trị bạn cần tìm,tra trong bảng ARRAY ( thường bảng array ở phía dưới ). Lookup_value có thể là một giá trị hoặc một tham chiếu. Nếu lookup_value nhỏ hơn giá trị nhỏ nhất ở cột đầu tiên trong bảng array thì hàm VLOOKUP sẽ trả về #N/A
Table_array có hai hay nhiều cột chứa dữ liệu. Sử dụng tham chiếu đến một vùng hay một tên vùng ( còn hay gọi là miền xác định). Giá trị ở cột đầu tiên trong bảng array này sẽ là giá trị mà hàm lookup_value cần tìm. Những giá trị này có thể là một chuỗi (text),số, hay những giá trị logic .
Col_index_num : Cột thứ " mấy " trong bảng bạn cần tra,tìm dữ liệu . Nếu col_index_num :
  • Nhỏ hơn 1, VLOOKUP báo lỗi là #VALUE! .
  • Lớn hơn số cột mà bạn có trong bảng báo lỗi #REF! .
Range_lookup
 
Cảm ơn các bạn đã trả lời, nhưng chưa đúng ý tôi muốn hỏi.
ví dụ:
A1=1 B1=a
A2=2 B2=b
A3=3 B3=c
Tôi muốn lookup value tại cột B nếu đúng thì trả về giá trị tại cột A
Cảm ơn các bạn nhiều!
 
E rằng ko thể dùng VLOOKUP trong trường hợp như bạn nói... Ko biết có giống thế này ko?
Bạn xem file thử!
ANH TUẤN
 

File đính kèm

CPH đã viết:
Cảm ơn các bạn đã trả lời, nhưng chưa đúng ý tôi muốn hỏi.
ví dụ:
A1=1 B1=a
A2=2 B2=b
A3=3 B3=c
Tôi muốn lookup value tại cột B nếu đúng thì trả về giá trị tại cột A
Cảm ơn các bạn nhiều!
VD :
C1 = b
D1 = INDEX($A$1:$A$3;MATCH(C1;$B$1:$B$3;0);0)

Thân!
 
Bận quá nên không trả lời nhanh được.
Qua bảng tính load về, tôi có chỉnh lại theo ý mình. Có một số thay đổi:
1. Bạn đã dùng form để chọn và nhập dữ liệu (tức đã dùng VBA) thì nên bỏ bớt công thức cho bảng tính gọn hơn. Trong bài tôi không dùng công thức nào.
2. Listbox HHList cần gán RowSource="mahang" khi form mở, nên name "mahang" chỉ được tạo ra khi chạy VBA, khi kết thúc VBA, xóa luôn name "mahang". Vì thế bảng tính không cần name.
Các bạn góp ý thêm.
ThuNghi hướng dẫn dùng cách tạo CommandButton như trong sheet "Nhap" mà không cho chỉnh, xóa? Cái này tôi lại làm không được.
 

File đính kèm

Thanhs mọi người.
Ở đây là mình muốn sử dụng các hàm kết hợp cho luột. Còn việc tạo data trên một sheet, rồi update trên các sheet kia thì không "prồ" lắm.
Mình đang làm theo cách của bác Anh Tuấn (trong file:Vlookup tìm tren 3 sheet), nhưng trong bảng excel đấy có chỗ mình không hiểu:
Đấy là mục col_index_number: 'baogia'!D$5 (mình không hiểu lắm)
Thanks you các bác
 
Bạn dùng thử file của tôi và sửa ct tại cột Price như sau:
=IF($B6="","",(IF(ISNA(VLOOKUP($B6,data1!$B$6:$D$20,3,0)),0,VLOOKUP($B6,data1!$B$6:$D$20,3,0)))+(IF(ISNA(VLOOKUP($B6,data2!$B$6:$D$20,3,0)),0,VLOOKUP($B6,data2!$B$6:$D$20,3,0)))+IF(ISNA(VLOOKUP($B6,Data3!$B$6:$D$20,3,0)),0,VLOOKUP($B6,Data3!$B$6:$D$20,3,0)))
ie nếu tìm thấy B6 trong Data thì vlookup, nếu không thì lấy 0 =>0+0+x =x
'baogia'!D$5 (mình không hiểu lắm)
'baogia'!D$5 thực ra là có giá trị 3, bạn thử Right Click tại D5, format cell bạn sẽ thấy nó được định dang là "Price".
Và công thức sau
=IF($B6="","",IF(AND(DK_1,DK_2),KQ3,IF(AND(DK_2,DK_3),KQ1,KQ2)))
Theo tôi, nói chung là khó hiểu khó triển khai.
 
Cám ơn bác nhiều.
ThuNghi hướng dẫn dùng cách tạo CommandButton như trong sheet "Nhap" mà không cho chỉnh, xóa? Cái này tôi lại làm không được.
Chưa hiểu Bác hỏi gì?
 
Trong sheet NHAP không có protect, nhưng sao click phải để chỉnh sửa cái command button không được?
 
phamduylong đã viết:
Trong sheet NHAP không có protect, nhưng sao click phải để chỉnh sửa cái command button không được?
Oái... cái Command Button này là thuộc thanh Control Toolbox cơ mà.. làm sao mà right click dc chứ... Tất nhiên là phải bấm nút Design Mode thì mới right click dc cơ mà...
Bác Long này... Ko biết có phải hỏi về món này hay là.... ??? hi... hi...
 
anhtuan1066 đã viết:
Oái... cái Command Button này là thuộc thanh Control Toolbox cơ mà.. làm sao mà right click dc chứ... Tất nhiên là phải bấm nút Design Mode thì mới right click dc cơ mà...
Bác Long này... Ko biết có phải hỏi về món này hay là.... ??? hi... hi...
Phát hiện ra rồi !
Cái Command Button này là thuộc thanh Control Toolbox, muốn right click nó phải Disable Macros.
Còn cái Button của thanh Form thì right click thoải mái.
Thân!
 
phamduylong đã viết:
Phát hiện ra rồi !
Cái Command Button này là thuộc thanh Control Toolbox, muốn right click nó phải Disable Macros.
Còn cái Button của thanh Form thì right click thoải mái.
Thân!

Cách tốt nhất, bác vào View/Toolbars rồi lôi cái "thằng" Control Toolbox ra, bấm nút Design Mode cái hình eke í là bác dùng thỏai mái. Khi nào cần thử code thì tắt nó đi . Nếu mở file ở chế độ Disable Macros thì khi sửa xong bác không thử được code
Chúc bác vui
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
 
Status
Không mở trả lời sau này.

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

Back
Top Bottom