Các câu hỏi về Hàm Index và Match (1 người xem)

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

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

tienbv

Thành viên mới
Tham gia
13/8/07
Bài viết
12
Được thích
2
Anh/chị nào biết về hàm match và index chỉ giúp tui với.
Cho ví dụ cụ thể để tiện theo dõi, (đọc mãi ko hiểu).
Thanks in advance!
tienbv
 
Tôi xin mạn phép các cao thủ dịch "nôm" hàm match
Cú pháp
MATCH(lookup_value,lookup_array,match_type)
Trả về thứ tự (vị trí) của trị dò trong bảng dò. Trả về 1 số nếu tìm ra.
Lookup_value : Trị dò
Trị dò có thể là number, text, hay logical value.
Lookup_array: Mảng dò là 1 mảng bao gồm trị dò.
is a contiguous range of cells containing possible lookup values. Lookup_array must be an array or an array reference.
Match_type: Kiểu match: là các số -1, 0, 1

1- Nếu match_type is 0, sẽ tìm chính xác trị dò trong mảng dò
Ta có mảng loaikh: SUN; MON; TUE; WED; THU; FRI; SAT
MATCH("TUE",LOAIKH,0) = 3

2- Nếu match_type is 1, hàm match s ẽ tìm giá trị lớn nhất mà nhỏ hơn hay bằng trị dò
Mảng dò phải là 1 dãy sort tăng dần.
Ta có mảng donggop: 0, 100, 200, 300, 400, 500 (dãy tăng dần)
Một phụ huynh ký sổ vàng là 101, ? phụ huynh xếp lọai nào, (theo tt tiền)
Match(101,donggop,1) = 2

3- Nếu match_type is -1, nghiên cứu từ 1.
Nếu match_type không nhập, hàm này xem như match_type là 1.

Tuy nhiên, match cũng có thể trả về thứ tự như sau
Vi dụ: MATCH("b",{"a","b","c"},0) vị trí của “b” trong {"a","b","c"} là 2.
MATCH không phân biệt chữ thường hay chữa hoa
Nếu hàm MATCH không tìm thấy, sẽ trả về #N/A
Thông thường dung match, ta hay thấy
If(isna(match(…)),””,match(…)), ie nếu hàm match trả về N/A thì lấy rỗng,…
Nếu match_type =1 và trị dò là text, trị dò có thể dung ký tự “*” hay “?”
Ta có mảng loaikh: SUN; MON; TUE; WED; THU; FRI; SAT
MATCH("S*",LOAIKH,0) = 1.
Nên nhớ hàm match luôn trả về 1 vị trí đầu tiên mà nó tìm, từ trên xuống dưới.
Hiểu hàm match sẽ tiếp index, yêu cầu các bạn nên tham khảo cách tạo name.
Có ví dụ kèm để thực tập. Bạn hãy dùng vlookup để điền vào từ f2:F8, phần còn lại của file chưa làm.
 

File đính kèm

tienbv đã viết:
Anh/chị nào biết về hàm match và index chỉ giúp tui với.
Cho ví dụ cụ thể để tiện theo dõi, (đọc mãi ko hiểu).
Thanks in advance!
tienbv

Đã biết TA như vậy thì bạn chỉ cần
  1. Mở Excel
  2. nhấn F1
  3. Nhập match (hoặc index)
  4. Enter
Như vậy bạn hoàn toàn có thể hiểu được rồi.
 
Bạn nghiên cứu đáp án nhé.
Tổng tháng thì dùng sumif
Mà sao BT mà bạn không tự giải.
 

File đính kèm

Đây nè... Xem thử đúng ý chưa?
 

File đính kèm

Chắc câu hỏi của em kỳ cục đối với mọi người lắm,-\\/.,nhưng em mở 173 công thức excel ra, đến phần công thức với INDEX thì khó hiểu quá,(viết bằng tiếng anh nên em dịch lõm bõm lắm), anh chị nào rành chỉ giùm em với, khi liên kết vớ i MATCH thì sẽ thế nào ạ-\\/..Cảm ơn mọi người nhiều

-\\/.Chính là cái sheet INDEX trong file 173 công thức thông dụng của excel ạ. còn cái liên kết em hỏi chính là phần tính thuế trong bài tập này, em đọc ko hiểu ạ,(trong cột này có liên kết giữa index và match) mong anh chỉ giùm em**~**

em vừa tìm thấy 1 đề tài tương tự ạ, để em xem cái này đã ạ-\\/.
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Gởi Kachiusa108. Anh nói theo cách mình hiểu, em xem có được không nhé. Người ta dùng index và match trường hợp bảng dò có nhiều dòng nhiều cột, trường hợp ít dòng, cột em dùng vlookup, thì thấy gọn hơn, nhưng nhiều dòng, cột thì công thức vlookup sẽ rất dài.
Người ta kết hợp index và match vì
Index để dò tìm trong một bảng, có nhiều dòng, nhiều cột. C.thức index(vùng dò tìm, dòng cần chọn, cột cần chọn). Tức là tại dòng thứ mấy, cột thứ mấy lấy ra giá trị cần tìm.
Bây giờ để tìm dòng, or cột cần chọn, ta kết hợp với match, để chỉ ra giá trị cần tìm ở dòng thứ mấy, or cột thứ mấy.
match(giá trị cần tìm, trong dãy cần tìm,0). Vd: Bây giờ để tìm B, trong dãy A, B, C, D thì nó sẽ chỉ ra B đang ở dòng thứ mấy, hoặc cột thứ mấy. 0 là lấy giá trị tuyệt đối, 1 là gần đúng.
Như vậy match hỗ trợ để chỉ ra dòng thứ mấy, hoặc cột thứ mấy thoả mãn với c.thức index cần tìm đối với bảng cần tìm có nhiều dòng, nhiều cột.
Vài ý kiến với bạn. Thân!
 
Mình bổ sung thêm một ý

dùng kết hợp Index và Match các bạn có thể tìm "ngược" (left/up lookup).
 
SoiBien đã viết:
Mình bổ sung thêm một ý

dùng kết hợp Index và Match các bạn có thể tìm "ngược" (left/up lookup).

Mình đã có một bài nói về Index-Match và Vlookup : Mình sơ lại nhé
  1. Vloopkup : Chỉ 1 chiều từ trái sang phải, vùng chứa dữ liệu tham chiếu phải nằm bên trái; Chỉ cần dùng một bảng duy nhất, rất tiện lợi cho việc đặt name
  2. Match-Index : Đa chiều, bên trái hay phải được hết. Việc đặt nảm tốn nhiều thời gian, cần nhiều bảng (ít nhất là 2); Tuy nhiên khi lập công thức và thay đổi vị trí cột thì lại rất .. . . sướng
Tùy các bạn nhé.
 
Xin hỏi về hàm Index và Match?

Tôi dùng hàm match và index tra bảng dựa vào các tham chiếu nhưng một số tham chiếu lại không cho ra kết quả mặc dù giá trị tìm vẫn có trong bảng. Vậy xin nhờ mọi người xem giúp!
 

File đính kèm

coganglen đã viết:
Tôi dùng hàm match và index tra bảng dựa vào các tham chiếu nhưng một số tham chiếu lại không cho ra kết quả mặc dù giá trị tìm vẫn có trong bảng. Vậy xin nhờ mọi người xem giúp!

Bạn sửa lại công thức này
=IF(MOD(10*ROUNDDOWN($B$32,1),2)<>0,ROUNDDOWN($B$32,1)+0.1,ROUNDDOWN($B$32,1)+0.2)
thành:
=IF(MOD(10*ROUNDDOWN($B$32,1),2)<>0,ROUNDDOWN($B$32+0.1,1),ROUNDDOWN($B$32+0.2,1))

Tương tự sửa công thức tại cột I
=IF(MOD(10*ROUNDDOWN($B$32,1),2)<>0,ROUNDDOWN($B$32,1)-0.1,ROUNDDOWN($B$32,1))
thành:
=IF(MOD(10*ROUNDDOWN($B$32,1),2)<>0,ROUNDDOWN($B$32-0.1,1),ROUNDDOWN($B$32,1))

Nhưng tôi thấy công thức của bạn chưa chuẩn thì phải?
Giả sử MOD(10*ROUNDDOWN($B$32,1),2)= 0 rồi thì h/R trên và dưới đều = h/R thưc tế => Giá trị nội suy sẽ chính xác 100%.

Excel còn có một số lỗi nên phải linh động. Ví Dụ:
=9.2-int(9.2)=0.199999999 <> 0.2
 
Góp ý Về Hàm Index Và Match

Bạn coganglen thân mến! Đối với hàm Match nó có đến 3 cách dò (0,1,-1).
Đối với bài toán của bạn thì chỉ cần dùng cách dò là -1 cho hàm match là được.
vì: các giá trị trong khối dò của bài toán(a5:a17,a5:j5) đều đã được sắp xếp theo trật tự giảm dần (bảng chữ cái z-a).
Chúc bạn thành công!
 
Thật sự chịu thua!
Nói thiệt, tôi đã ngồi với bài toán này gần 5 tiếng đồng hồ... Thử đủ cách, thay hàm, thay định dạng, thậm chí tạo luôn một file mới nhập lại, cũng vẫn không được!

Vấn đề không phải là hàm MATCH hay INDEX đâu. Mà vì cái gì đó, tôi không hiểu.

Trường hợp mà bạn Coganglen gọi là OK, chỉ là may mắn thôi.
Bác nào đã tải file này về, thay con số h = (ô B23), cho nó chạy từng nấc thử xem... có cái thì được, có cái thì #NA...

Các cách sửa của các bạn đã nêu ra, sẽ sai (báo lỗi #NA) với một vài trường hợp nào đó của h. Thật đấy, các bạn thử lại xem (cho h chạy sao cho H22 và I22 nằm trong khoảng từ 0.4 đến 2)

Có một cái này vui lắm, xin kể cho các bác nghe đặng suy nghĩ thêm:
Để yên kết quả của công thức cho h/R = 1.2, thì nó báo #NA, nhập thẳng 1.2 vào H22 thì hết (giống cách của bạn Coganglen), tôi thử kiểu khác, không nhập thẳng nữa, mà thay vì để yên 1.2 trên ô F5, tôi nhập F5 = 6*0.2, thì lại hết báo lỗi ! Nhưng F5 = 1.2*1 thì không à nghe ! Không hiểu được !

Sau đó tôi cho h chạy tiếp vài số... lại đụng số khác, tôi lại dùng chiêu trên để làm, nhưng lần này thì không ép phê nữa... Thậm chí gõ thẳng vào H22 chứ không lấy kết quả của công thức, nó cũng không chịu. Tức quá, tôi dùng một ô trống, gõ luôn = MATCH... (dò tìm riêng con số đó trong dãy A5:J5), nó vẫn báo là tìm không thấy. Mà rõ ràng trong A5:J5 có con số này! Vậy là tại cái gì ? Tôi đã thử thay định dạng ô, cũng không ăn thua.

Như trên đã nói, tôi làm luôn một sheet mới, rồi cho h chạy thử với những con số đã báo lỗi bên sheet của Coganglen, thấy không sao, mừng quá... mà mừng hụt, vì cho h chạy tiếp, thì lại tiếp tục đụng con số khác... Mà chỉ bị bên mảng A5:J5 thôi, chứ mảng cột (A6:A17) thì không bị.

Còn dùng -1 như bạn nvson nói, nó không báo lỗi nhưng cho kết quả sai, vì nó sẽ tìm "số nhỏ nhất mà lớn hơn số đi dò", chứ thật sự nó vẫn không tìm ra số mình cần dò. Ví dụ, tìm 1.2 không ra thì nó lấy đại 1.4... Khi dùng hàm MATCH, tôi vẫn khuyên người ta nên xài cách tìm là 0, để luôn được kết quả chính xác (với lại chả cần quan tâm trong mảng có sort hay chưa...)

Đôi lời tâm sự cùng các bác. Quả thật tới bi giờ thì tôi đuối... Từ hồi biết Excel đến giờ, chưa bao giờ tôi gặp chuyện này.
 
BNTT đã viết:
Thật sự chịu thua!
............
Các cách sửa của các bạn đã nêu ra, sẽ sai (báo lỗi #NA) với một vài trường hợp nào đó của h. Thật đấy, các bạn thử lại xem (cho h chạy sao cho H22 và I22 nằm trong khoảng từ 0.4 đến 2)
.............
.

Tôi Test công thức của tôi đưa lên và cho kết quả đều đúng cả mà!
và còn 1 cách nữa là thêm Round vào đầu công thức tính h/R:
=Round( If( ......), 1) cũng ổn mà!
 
Gửi bạn nguyentuhp: Bạn nói đúng rồi. Xin lỗi bạn. Tôi đã không để ý cái chuyện bạn đưa +0.1 vào bên trong dấu ngoặc đơn. Có lẽ tại vì cứ loay hoay với MATCH và INDEX, mà không để ý đến những cái khác.
 
ĐÚng rồi, Giải pháp là ta phải làm tròn số trước khi đưa vào tra theo hàm match,

Vì thế ở đây bạn nên dùng công thức
=ROUND (<...>,1) đối với h/R

=ROUND (<...>,0) đối với E/Ech

Như thế là tra được -> bạn test xem sao?

Nếu ko được bạn thử dùng cách nội suy 2 chiều -> Sd AddIn của tôi - download tại đây: http://www.giaiphapexcel.com/forum/showpost.php?p=50931&postcount=6
thì chắc chắn được - nhưng nhớ là sau khi nội suy thì dùng hàm Round(<...>,2) để chỉ lấy 2 chữ số thôi nhé
 
Lần chỉnh sửa cuối:
tigertiger đã viết:
Đúng rồi, Giải pháp là ta phải làm tròn số trước khi đưa vào tra theo hàm match...
TigerTiger à, bạn đọc không kỹ đề bài rồi. Không phải là làm tròn số đâu. ROUNDDOWN() khác với ROUND().
ROUNDDOWN() có tác dụng giống như là cắt bớt đi phần lẻ, chỉ giữ lại bao nhiêu con số lẻ sau dấu thập phân, tương tự như hàm TRUNC() vậy.

Bạn thử nhé:
ROUND(1.97, 1) = 2.0 | ROUNDDOWN(1.97, 1) = 1.9 | TRUNC(1.97, 1) = 1.9

ROUND(1.92, 1) = 1.9 | ROUNDDOWN(1.92, 1) = 1.9 | TRUNC(1.92, 1) = 1.9
ROUNDDOWN() là làm tròn xuống, chính xác là xuống phía số 0, nghĩa là luôn làm tròn thành một số nhỏ hơn số đem đi làm tròn, và lấy mấy số lẻ thì tùy vào ta chỉ định. Nên khi dùng ROUNDOWN() làm tròn lấy 1 số lẻ, thì 1.97 cũng giống như 1.92 thôi, đều bằng 1.9

Trong khi ROUND() thì giống như cách chúng ta hay tính nhẩm, nghĩa là số ở sau mà lớn hơn hoặc bằng 5, thì khi làm tròn, sẽ đôn số trước nó lên 1, nên 1.97 khi làm tròn lên sẽ là 2.0, còn 1.92 thì chỉ là 1.9

Bạn thấy sự khác nhau giữa ROUND() và ROUNDDOWN() rồi chứ...
 
BNTT đã viết:
Bạn thấy sự khác nhau giữa ROUND() và ROUNDDOWN() rồi chứ...

- Cái này thì tôi biết rõ rồi , BNTT ah

- Vẫn đề ở đây của bạn đó là lỗi làm tròn -> vì ko tròn nên không khớp với bảng có sẵn - có vậy thôi. Giải pháp thì có 2 cách :
+ một là các như nguyentuhp
+ hai là cách như tigertiger đã làm

vậy thôi, NHƯNG vấn đề ở đây là phải chỉ rõ cho bạn ấy biết về lỗi này , và quan trọng hơn cả là khi làm việc với MT nói chung và Excel nói riêng phải luôn chú ý đến vấn đề SAI SỐ -> phải làm tròn trước khi tra,
 
Mình đã test lại công thức như của: nguyentuhp tigertiger đều đúng. Mình ko nghĩ đến việc dùng Rounddown() rồi cộng lại khác với việc cộng xong mới dùng rounddown() nên mới dẫn đến kết quả như vậy. Cám ơn mọi người đã giúp mình!!!
 
Trả lời bạn

Rất đơn giản tại ô H34 bạn chỉ việc thêm hàm Round là được cụ thể như sau:
ROUND(IF(MOD(10*ROUNDDOWN($B$32,1),2)<>0,ROUNDDOWN($B$32,1)+0.1,ROUNDDOWN($B$32,1)+0.2),1)

Thế là chạy rồi
Nguyên nhân là do phần thập phân của bạn thôi
 
Lây ví dụ dùng hàm Match và Index
Tôi đã đọc công dụng của hàm nhưng chưa tìm được ví dụ để thực hành, rất mong mọi người gủi cho mình một số ví dụ vận dụng sự liên kết của hai hàm trên. Xin cảm ơn!
 
Lây ví dụ dùng hàm Match và Index
Tôi đã đọc công dụng của hàm nhưng chưa tìm được ví dụ để thực hành, rất mong mọi người gủi cho mình một số ví dụ vận dụng sự liên kết của hai hàm trên. Xin cảm ơn!
Ví dụ với bảng tính sau:
|
A​
|
B​
|
C​
|
D​
|
1​
|
Mã số​
|
Tên​
|
Đơn vị tính​
|
Đơn giá​
|
2​
|MS001|Tên 01|
kg​
|
27,438​
|
3​
|MS002|Tên 02|
lít​
|
15,526​
|
4​
|MS003|Tên 03|
cm​
|
43,088​
|
5​
|MS004|Tên 04|
m2​
|
22,830​
|
6​
|MS005|Tên 05|
tấn​
|
94,566​
|
7​
|MS006|Tên 06|
cái​
|
13,327​
|
8​
|MS007|Tên 07|
thùng​
|
7,630​
|
9​
|MS008|Tên 08|
gói​
|
8,633​
|
10​
|MS009|Tên 09|
bịch​
|
76,865​
|
11​
|MS010|Tên 10|
kiện​
|
77,872​
|
12​
|MS011|Tên 11|
gr​
|
50,527​
|
13​
|MS012|Tên 12|
tạ​
|
65,005​
|
14​
|MS013|Tên 13|
sợi​
|
2,431​
|
15​
|MS014|Tên 14|
chai​
|
26,992​
|
16​
|MS015|Tên 15|
két​
|
96,997​
|
Bạn muốn truy xuất đơn giá của một mặt hàng MS007:

Cấu trúc của INDEX là INDEX(bảng, hàng, cột).Bảng thì dễ rồi, chính là khối ô A1:D16

Bi giờ, giả sử bạn không biết cột tính đơn giá là cột mấy trong bảng đó, chỉ biết nó nằm ở hàng số 1 của bảng này, bạn dùng hàm MATCH:
=MATCH("Đơn giá", $A$1:$D$1, 0)
Nó sẽ cho bạn kết quả là 4.

Tương tự, để biết mã hàng MS007 nằm ở hàng mấy trong bảng đó, chỉ biết là nó nằm ở cột A, bạn dùng công thức:
=MATCH("MS007", $A$1:$A$16, 0)
Nó sẽ cho bạn kết quả là 8.

Vậy để tìm đơn giá của MS007 trong dãy A1:D16, bạn kết hợp INDEX với MATCH:
=INDEX($A$1:$D$16, MATCH("MS007", $A$1:$A$16, 0), MATCH("Đơn giá", $A$1:$D$1, 0))
Nghĩa là đi tìm trong dãy A1:D16, tìm cái ô nằm ở hàng thứ 8, cột thứ 4, nó chính là đơn giá của MS007 (=7,630)
 
Nếu biết khéo léo vận dụng:MATCH,INDEX và OFFSET ta sẽ được một bảng liệt kê những mẫu tin có cùng tính chất rất hay,hôm nào mình sẽ pót hình lên báo cáo với các bạn.Sẵn đây các bạn cho mình hỏi tí,mình có file excel khi cóp qua PDA chạy Excel mobile thì mất hết toàn bộ công thức trong ô bạn nào biết nguyên nhân chỉ dùm mình với
 
Hàm Index-match

Tớ áp dụng hàm Index match nhưng vẫn không được. Xem dùm tớ.

Hix sao cứ báo là vi phạm hoài à <>
 

File đính kèm

Hix sao cứ báo là vi phạm hoài à <>
Báo vi phạm là do bạn post bài nhưng không đọc kỹ quy định! Tiêu để không rõ ràng!
Ngay như topic này! Bạn nói Hàm Index, Match mà file của bạn không có cái gì liên quan đến Index, match! Lập hàm chỗ nào cũng không nói! Bạn muốn người khác giúp mà bản thân bạn còn tiết kiệm chữ, vậy làm sao người khác giúp được!?
 
Tớ áp dụng hàm Index match nhưng vẫn không được. Xem dùm tớ.

Hix sao cứ báo là vi phạm hoài à <>
Bạn sửa lại như sau:
1> Cột THỜI HẠN:
PHP:
F3 =MID(A3,3,3)*1
2> Cột LÃI XUẤT
G3 =INDEX($A$16:$D$21,MATCH($F3,$A$16:$A$21,0), MATCH($C3,$A$16:$D$16,0))
Lưu ý: Nếu cột THỜI HẠN bạn không sửa lại thì sẽ báo lổi tại cột LÃI XUẤT ---> Lý ra là hàm MID cho ra giá trị TEXT, không dò được vào bảng tra
 
Lần chỉnh sửa cuối:
Thì ra là lập công thức ở cột Lãi suất! Yêu cầu này cũng làm bằng vlookup được:
PHP:
G3 = VLOOKUP($F3,$A$16:$D$21,MATCH($C3,$A$16:$D$16,0),0)
Sau đó fill công thức xuống dưới.

Còn cột [THỜI HẠN], bạn không cần dùng IF như thế cho phức tạp vậy! Làm giống như anh ndu là được!
 
em cũng đang học hàm index và hàm match mà sao khó hiểu quá ! vì em đang tập lập bảng biểu phiếu nhập xuất tồn cần sử dụng rất nhiều đến những hàm trên. xin mọi người chỉ giúp với ạ!
 
Mình upload bài tập này lên cho các bạn xem. Dễ hiểu lắm. Các bạn xem công thức này trong ô "Đơn giá".
 

File đính kèm

Lần chỉnh sửa cuối:
- Hàm vlookup, hlookup trả về giá trị dựa trên điều kiện tìm kiếm là một giá trị.
- Hàm index trả về giá trị dựa trên điều kiện tìm kiếm là 2 đk thứ tự cột và thứ tự hàng của giá trị tìm kiếm. Hàm match dùng để xác định thứ tự cột hoặc hàng của giá trị đó trong bảng tham chiếu dữ liệu.
Chẳng hạn: Để biết giá thành một căn nhà các bạn cần xác định cấp nhà (biệt thự, chung cư,...) và diện tích.
- Nếu bạn dùng vlookup hoặc hlookup thì đk tìm kiếm được đưa ra là giá trị "biệt thự" hoặc diện tích "10m2". VD: vlookup ("10m2", e14:k25,2), vlookup ("biệt thự, e14:k25,2), trong đó "10m2" là điều kiện tìm kiếm, e14:k25 là bảng tham chiếu dữ liệu, 2 là cột để lấy giá trị trong bảng tham chiếu.
- Còn dùng index thì đk tìm kiếm được ra là thứ tự cột của giá trị "biệt thự" trong bảng dliệu tham chiếu và thứ tự hàng của giá trị "10m2".
Để xác định xem giá trị "biệt thự" nằm ở cột thứ mấy và "10m2" nằm ở hàng thứ mấy thì dùng match.
VD: index (e14:k25, match("10m2", e14:e25,0), match("biệt thự", f15:k25,0)), trong đó e14:k25 là bảng tham chiếu dữ liệu, match ("10m2", e14:k25,0): xác định xem đk tìm kiếm 10m2 nằm ở vị trí hàng thứ mấy trong bảng tham chiếu, match("biệt thự", f15:k25,0): xác định xem đk tìm kiếm "biệt thự" nằm ở vị trí cột thứ mấy trong bảng tham chiếu.
Tóm lại vlookup, hlookup tìm kiếm theo 1 chiều ngang hoặc dọc, còn index kết hợp match tìm kiếm theo cả 2 chiều ngang và dọc.
Phù, hôm nay rảnh nên giải thích tỉ mỉ. Hy vọng đọc xong mọi người sẽ không "hiểu chết liền" :frusty:
 
Lần chỉnh sửa cuối:
Hàm EXACT
Công dụng: Dùng để so sánh hai chuỗi với nhau.

Công thức:
=EXACT(text1,text2)

Hàm EXACT phân biệt chữ thường và chữ hoa.

Nếu 2 chuỗi text1, text2 giống nhau hoàn toàn, hàm sẽ trả về TRUE; nếu không, sẽ trả về trị FALSE


Ví dụ
:

=EXACT("Giải pháp", "Giải pháp") TRUE
=EXACT("Giải pháp", "Giải Pháp") FALSE
 
giúp mình về hàm Match với các bạn ơi !!!!!!11111

nhờ các bạn giải giúp mình bt này với.
giải thích lun khi nào dùng -1 , khi nào dùng 0 , khi nào dùng 1ở cuối hàm match nhé+-+-+-++-+-+-+
bt cần giải ở sheet 3. bạn nào giải rồi upload lên giúp mình nhé mình sắp thi tin trình độ A !$@!!!$@!!!$@!!!$@!!
thank }}}}}}}}}}}}}}}}}}}}
 

File đính kèm

nhờ các bạn giải giúp mình bt này với.
giải thích lun khi nào dùng -1 , khi nào dùng 0 , khi nào dùng 1ở cuối hàm match nhé+-+-+-++-+-+-+
bt cần giải ở sheet 3. bạn nào giải rồi upload lên giúp mình nhé mình sắp thi tin trình độ A !$@!!!$@!!!$@!!!$@!!
thank }}}}}}}}}}}}}}}}}}}}
Bạn xem lại cấu trúc hàm rồi sẽ hiểu.
Hàm MATCH

Chức năng: Hàm Match là hàm dò tìm, sẽ trả về vị trí của giá trị dò tìm trong vùng dò tìm (một dòng hoặc một cột).

Cú pháp: MATCH(lookup_value,lookup_array,match_type)

- Lookup_value: là giá trị dùng để dò tìm, lookup_value có thể là một số, một chuỗi, một giá trị logic hay một tham chiếu.

- Lookup_array: là vùng dò tìm, có thể là một cột hoặc một dòng, hoặc một mảng các giá trị.



- Match_type: là tùy chọn để xác định kiểu dò tìm. Có 3 tùy chọn là -1,0,1:
  • match_type = 0: Hàm sẽ dò tìm chính xác giá trị lookup_value trong lookup_array, nếu không tìm thấy hàm sẽ báo lỗi #N/A.
  • match_type = 1(hoặc để trống): Hàm sẽ dò tìm giá trị lớn nhất trong lookup_array mà có giá trị <= giá trị của lookup_value. Trường hợp này, các phấn tử trong lookup_array phải được sắp xếp từ nhỏ đến lớn (..-2,-1,0,1,2…A,B,C..Z…False, True).
  • match_type = -1: Hàm sẽ dò tìm giá trị nhỏ nhất trong lookup_array mà có giá trị >= giá trị của lookup_value. Trường hợp này, các phấn tử trong lookup_array phải được sắp xếp từ lớn đến nhỏ ( True, False, Z…A,..2,1,0,-1,-2..).
Lưu ý: Nếu match_type = 0, lookup_value là một chuỗi ký tự thì bạn có thể dùng ký tự * hoặc ? Để đại diện cho một vài ký tự trong chuỗi dò tìm lookup_value ( * đại diện cho một vài ký tự, ? Đại diện cho 1 ký tự).

- Tôi làm giúp bạn bài tập trong file đính kèm của bạn.

Phần lập bảng thống kê bạn tự làm nhé. Gợi ý bạn dùng hàm Sumproduct() hoặc DSUM().
 

File đính kèm

Lần chỉnh sửa cuối:
nhờ các bạn giải giúp mình bt này với.
giải thích lun khi nào dùng -1 , khi nào dùng 0 , khi nào dùng 1ở cuối hàm match nhé+-+-+-++-+-+-+
bt cần giải ở sheet 3. bạn nào giải rồi upload lên giúp mình nhé mình sắp thi tin trình độ A !$@!!!$@!!!$@!!!$@!!
thank }}}}}}}}}}}}}}}}}}}}
Đây là bài tập nên bạn tự làm thì tốt hơn.
còn đây là giải thích cho hàm MATCH
Hàm MATCH

Chức năng: Hàm Match là hàm dò tìm, sẽ trả về vị trí của giá trị dò tìm trong vùng dò tìm (một dòng hoặc một cột).

Cú pháp: MATCH(lookup_value,lookup_array,match_type)

- Lookup_value: là giá trị dùng để dò tìm, lookup_value có thể là một số, một chuỗi, một giá trị logic hay một tham chiếu.

- Lookup_array: là vùng dò tìm, có thể là một cột hoặc một dòng, hoặc một mảng các giá trị.

- Match_type: là tùy chọn để xác định kiểu dò tìm. Có 3 tùy chọn là -1,0,1:

  • match_type = 0: Hàm sẽ dò tìm chính xác giá trị lookup_value trong lookup_array, nếu không tìm thấy hàm sẽ báo lỗi #N/A.
  • match_type = 1(hoặc để trống): Hàm sẽ dò tìm giá trị lớn nhất trong lookup_array mà có giá trị <= giá trị của lookup_value. Trường hợp này, các phấn tử trong lookup_array phải được sắp xếp từ nhỏ đến lớn (..-2,-1,0,1,2…A,B,C..Z…False, True).
  • match_type = -1: Hàm sẽ dò tìm giá trị nhỏ nhất trong lookup_array mà có giá trị >= giá trị của lookup_value. Trường hợp này, các phấn tử trong lookup_array phải được sắp xếp từ lớn đến nhỏ ( True, False, Z…A,..2,1,0,-1,-2..).

Lưu ý: Nếu match_type = 0, lookup_value là một chuỗi ký tự thì bạn có thể dùng ký tự * hoặc ? Để đại diện cho một vài ký tự trong chuỗi dò tìm lookup_value ( * đại diện cho một vài ký tự, ? Đại diện cho 1 ký tự).
 
Anh/chị nào biết về hàm match và index chỉ giúp tui với.
Cho ví dụ cụ thể để tiện theo dõi, (đọc mãi ko hiểu).
Thanks in advance!
tienbv
Các bạn khác đã cho bạn cú pháp rồi. Còn ví dụ bạn có thể tham khảo file đính kèm nhé. Dùng 2 hàm này kết hợp với công thức mảng để dò tìm hơn 2 điều kiện bạn ạ.
Chúc vui.
 

File đính kèm

Hàm INDEX

Sau khi mình xem về bài tập hàm Match của bạn THUNGHI, mình hiểu được hàm Match. Tuy nhiên sao không thấy bạn chỉ giùm luôn cú pháp hàm index và ví dụ qua bài tập như hàm Match. Cảm ơn bạn nhe!
 
Sau khi mình xem về bài tập hàm Match của bạn THUNGHI, mình hiểu được hàm Match. Tuy nhiên sao không thấy bạn chỉ giùm luôn cú pháp hàm index và ví dụ qua bài tập như hàm Match. Cảm ơn bạn nhe!

Thì đây;
Hàm INDEX
Tác giả: BNTT
Chức năng: Hàm INDEX trả về một giá trị hay tham chiếu đến một giá trị trong một bảng hoặc một mảng.
Hàm INDEX có hai hình thức là dạng mảng và dạng tham chiếu:

a. Dạng Mảng: INDEX(array,row_num,col_num)

- Array: là một dãy ô hay một hằng mảng.
- Row_num: là số chỉ dòng của giá trị trong mảng cần trả về. Nếu bỏ qua row_num thì buộc phải có col_num.
- Col_num: là số chỉ cột của giá trị trong mảng cần trả về. Nếu bỏ qua col_num thì buộc phải có row_num.

Lưu ý:
  • Nếu mảng chỉ có một dòng hoặc một cột, thì row_num hay column_num tương ứng là tùy chọn.
  • Nếu mảng có nhiều hơn một dòng hoặc nhiều hơn một cột, và chỉ có hoặc là row_num hoặc là column_num được sử dụng, INDEX() sẽ trả về toàn bộ dòng hay cột của mảng.
  • Nếu hai đối số col_num và row_num đều được sử dụng, INDEX() sẽ trả về giá trị của ô là giao điểm của col_num và row_num.
  • Nếu row_num hoặc col_num bằng 0, hàm sẽ trả về mảng các giá trị là toàn bộ cột hoặc toàn bộ dòng tương ứng.
  • Row_num và col_num phải chỉ tới một ô trong mảng, nếu không, INDEX() sẽ báo lỗi #REF!
b. Dạng Tham chiếu: INDEX(reference,row_num,col_num,area_num)

- Reference: là một tham chiếu đến một hoặc nhiều dãy ô liên tiếp.
- Row_num: là số chỉ dòng trong vùng tham chiếu được trả về.
- Col_num: là số chỉ cột trong vùng tham chiếu được trả về.
- Area_num: là số chỉ thứ tự của vùng trong tham chiếu được chọn. Nếu để trống, hàm mặc định chọn vùng 1.

Lưu ý:
  • Nếu row_num hoặc col_num bằng 0, hàm sẽ trả về tham chiếu cho toàn bộ cột hoặc toàn bộ dòng tương ứng.
  • Col_num, row_num và area_num phải chỉ tới một ô bên trong tham chiếu, nếu không, INDEX() sẽ báo lỗi #REF!.
  • Nếu bỏ qua col_num và row_num, INDEX() sẽ trả về một vùng trong tham chiếu, được chỉ định bởi area_num.
  • Kết quả mà hàm INDEX trả về chính là một tham chiếu, là giao điểm của dòng và cột trong vùng tham chiếu được trả về.
=> Ví dụ: File đính kèm
 

File đính kèm

Sau khi mình xem về bài tập hàm Match của bạn THUNGHI, mình hiểu được hàm Match. Tuy nhiên sao không thấy bạn chỉ giùm luôn cú pháp hàm index và ví dụ qua bài tập như hàm Match. Cảm ơn bạn nhe!
Bạn tìm đến bài viết của anh BNTT xem ở dưới mục chữ ký "Tra cứu hàm excel" đấy. Tha hồ mà nghiên cứu các hàm nhé.
 
Em cũng có cùng thắc mắc như trên mà sao không thấy anh chị nào giải đáp cả...**~**!!Mong được sự giúp đỡ..E cảm ơn nhiều!!
[FONT=&quot]
Mã:
F2 =INDEX($E$16:$K$27;MATCH(E2;$E$17:$E$27;0)[B][COLOR=red]+1[/COLOR][/B];MATCH(D2;$F$16:$K$16;0)[B][COLOR=red]+1[/COLOR][/B])
Bạn thắc mắc không hiểu tại sao có +1 chứ gì?
Giá trị hàng ở hàm MATCH đầu tiên trong công thức trên sẽ cho giá trị hàng bằng 1 và hàm MATCH thứ 2 sẽ cho giá trị cột bằng 1.[/FONT]
[FONT=&quot]Thay vào hàm INDEX kết quả sẽ cho giá trị bằng cell E16 (Do vùng tính của hàm INDEX bắt đầu từ cell E16:K27. Từ vùng tính sẽ có tổng cộng 12 hàng và 7 cột).
Nếu Bạn thay công thức trên bằng công thức sau sẽ không có +1 nữa
Mã:
F2 =INDEX($E$16:$K$27;MATCH(E2;[COLOR=red]$E$16[/COLOR]:$E$27;0);MATCH(D2;[COLOR=red]$E$16[/COLOR]:$K$16;0))
[/FONT]
 
Hỏi về hàm index,match

Tìm hệ số

Xem file đinh kèm
 

File đính kèm

Lần chỉnh sửa cuối:
Tìm hệ số

Xem file đinh kèm

Cách của Ndu rất ngắn gọn, sáng tạo,..
Tuy nhiên, nếu muốn dùng index, match thì:
PHP:
=INDEX($B$19:$D$22,MATCH(G5,$A$19:$A$22,1),MATCH(H5,LEFT($B$18:$D$18),1))
hay

PHP:
=INDEX($B$19:$D$22,MATCH(G5,$A$19:$A$22,1),MATCH(1*H5,1*LEFT($B$18:$D$18),1))
và kết thúc với Ctrl+Shift+Enter
 
Lần chỉnh sửa cuối:
Thanks

Cách của Ndu rất ngắn gọn, sáng tạo,..
Tuy nhiên, nếu muốn dùng index, match thì:
PHP Code:
=INDEX($B$19:$D$22,MATCH(G5,$A$19:$A$22,1),MATCH(H5,LEFT($B$18:$D$18),1))


hay

PHP Code:
=INDEX($B$19:$D$22,MATCH(G5,$A$19:$A$22,1),MATCH(1*H5,1*LEFT($B$18:$D$18),1))


và kết thúc với Ctrl+Shift+Enter
Em vừa mới học hàm INDEX,MATCH nên chưa hiểu rõ .

Giải thích dùm em ý nghĩa của đoạn
Hàm left ở đây có tác dụng gì



Thêm "*1" có tác dụng gì

=INDEX($B$19:$D$22,MATCH(G5,$A$19:$A$22,1),MATCH(1*H5,1*LEFT($B$18:$D$18),1))
Tại sao phải nhấn Ctrl+Shift+Enter mới ra kết quả

Giúp em Tính THƯỞNG của bài 4 trong Book1.xls
 
Lần chỉnh sửa cuối:
Thanks

Em vừa mới học hàm INDEX,MATCH nên chưa hiểu rõ .

Giải thích dùm em ý nghĩa của đoạn Hàm left ở đây có tác dụng gì



Thêm "*1" có tác dụng gì

Tại sao phải nhấn Ctrl+Shift+Enter mới ra kết quả

Giúp em Tính THƯỞNG của bài 4 trong Book1.xls

- Hàm Left ở đây là lấy 1 ký tự bên phía trái của chuỗi, bạn thử =LEFT($B$18) tương đương với =LEFT($B$18,1) cho ra kết quả 1, =LEFT($C$18) cho ra kết quả 4, =LEFT($D$18) cho ra kết quả 7 => =LEFT($B$18:$D$18) cho là một mảng 1,4 và 7 với điều kiện kết thúc bằng Ctrl+Shift+Enter.
- Còn 1* tương đương với Value() hay dấu "--" phía trước công thức.
- Ctrl+Shift+Enter là kết thúc của một công thức mảng thì khi đó mảng với các biểu thức mới hình thành và cho ra kết quả !
- Bài tập số 4, chỉ cần dùng Hlookup tại E4, =HLOOKUP(D4,$C$20:$E$23,IF(C4<10,2,IF(C4>20,4,3)),0) chứ không nhất thiết là phải dùng INDEX, MATCH,..
 
Lần chỉnh sửa cuối:
tôi thì dùng hàm này
các anh xem và chỉ giáo nhé
I5=VLOOKUP(G5,$A$17:$D$22,LOOKUP(VALUE(H5),{0,1,4,7},{0,2,3,4}),0)
 

File đính kèm

bạn ơi có thể cho ví dụ cụ thể hơn tí nữa được không vậy mình vẫn chưa hiểu lắm
 
Bạn tìm mua sách Giải pháp Excell của tác giá Ông Văn Thông, viết rất là dân dã và dễ hiểu, có ví dụ dễ nhớ.

Có điều em rất là bực vì đến giờ vẫn chưa tìm được sách dạy VBA. Hình như các cú pháp, thuật ngữ ở trong VBA cũng giống pascal phải không mấy anh chị? Em học pascal đã hơn 10 năm rồi nên giờ không nhớ được gì. Anh chị nào biết chỗ nào bán sách dạy dễ hiểu không giới thiệu cho em nói riêng và cho mọi người nói chung với. Em xin chân thành cảm ơn mọi người.
 
Mọi người giúp hàm Index và Match

Mọi người giúp với, ô Hệ số dùng vlookup và if thì dễ rồi, nhưng dùng index và match thì mình ko biết phải làm sao cả, vì cái bảng tính hệ số viết kiểu đó thì bó tay hjc
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Theo mình dùng index với match thì cũng phải dùng if thôi, số năm công tác nằm trong 1 khoảng nên không dùng match để xác định 1 vị trí cụ thể được.
 
Mọi người giúp với, ô Hệ số dùng vlookup và if thì dễ rồi, nhưng dùng index và match thì mình ko biết phải làm sao cả, vì cái bảng tính hệ số viết kiểu đó thì pó tay hjc
Sao lại bó tay, coi thường ông Bill dữ "zậy", viết kiểu nào cũng "xử", nếu đây là bài tập sẵn ôn một lần kết hợp.... 6 hàm luôn
Bạn dùng cái công thức này thử xem (ở I6, fill xuống)
=INDEX($B$20:$D$23,MATCH(G6,$A$20:$A$23,0),LOOKUP(H6,VALUE(LEFT($B$19:$D$19)),COLUMN(A:C)))
 
Sao lại bó tay, coi thường ông Bill dữ "zậy", viết kiểu nào cũng "xử", nếu đây là bài tập sẵn ôn một lần kết hợp.... 6 hàm luôn
Bạn dùng cái công thức này thử xem (ở I6, fill xuống)
=INDEX($B$20:$D$23,MATCH(G6,$A$20:$A$23,0),LOOKUP(H6,VALUE(LEFT($B$19:$D$19)),COLUMN(A:C)))
cám ơn bạn, nhưng tớ chưa hiểu từ đoạn này
LOOKUP( H6,VALUE(LEFT($B$19:$D$19)),COLUMN(A:C)))
 
Bạn cũng có thể dùng công thức này:
Mã:
I6 =INDEX($B$20:$D$23,MATCH(G6,$A$20:$A$23,0),IF(H6<=3,1,IF(H6<=6,2,3)))
 
Dò tìm theo Column & Row dùng hàm Index và Match

Em dùng kết hợp hàm Index và Match để xuất kết quả ra 1 bảng SL khác, nhưng làm sao để khi em thay đổi mục chọn thì kết quả tước vẫn không thay đổi...Các bác xem file đính kèm rồi gỡ rối giùm em nhé.
 

File đính kèm

Em dùng kết hợp hàm Index và Match để xuất kết quả ra 1 bảng SL khác, nhưng làm sao để khi em thay đổi mục chọn thì kết quả tước vẫn không thay đổi...Các bác xem file đính kèm rồi gỡ rối giùm em nhé.
Nếu như thế thì Bạn cần gì phải tạo ra sheet xuất và tạo ra cái chọn hạng mục.
Mã:
L8 =VLOOKUP(J8;'Data DM Piping'!$B$4:$S$32;MATCH(K8;'Data DM Piping'!$B$3:$S$3;0);0)
Mã:
L9 =VLOOKUP(J9;'Data DM Piping'!$B$37:$S$65;MATCH(K9;'Data DM Piping'!$B$36:$S$36;0);0)
Không hiểu nỗi mục đích của Bạn?
 
Nếu như thế thì Bạn cần gì phải tạo ra sheet xuất và tạo ra cái chọn hạng mục.
Mã:
L8 =VLOOKUP(J8;'Data DM Piping'!$B$4:$S$32;MATCH(K8;'Data DM Piping'!$B$3:$S$3;0);0)
Mã:
L9 =VLOOKUP(J9;'Data DM Piping'!$B$37:$S$65;MATCH(K9;'Data DM Piping'!$B$36:$S$36;0);0)
Không hiểu nỗi mục đích của Bạn?
Mục đích của em là lấy kết quả ở ô L8/L9 bằng cách dò tìm theo hàng K8/K9 và cột J8/J9 ở sheet xuat (sheet này lấy số liệu bằng cách dò đầu mục tương ứng ở sheet Data DM Piping) Vấn đề là khi em thay đổi các đầu mục chọn thì ngay lập tức số liệu xuất ra ở cột L8/L9 đồng loạt thay đổi theo đầu mục này, nhưng mà em muốn mỗi kết quả ở các cột L8/L9 theo các đầu mục chọn khác nhau không đươch thay đổi như thế. Làm sao khắc phục được vấn đề này, bác xem file rồi sửa hàm giùm em????
 
Giúp em hàm index và match

trong bài em sử dụng hàm index và match nhưng chỉ tham chiếu đúng được 1 phần
phần còn lại thì ko thể tham chiếu được và hiện lỗi là #NA.
Mặc dù công thức đúng, tham chiếu cũng đúng. Nhưng ko hiểu sao lại ko ra kết quả.
nhờ sự giúp đỡ của các anh chị
Đây là bài của em ạ, em mới làm phần thô thôi, chưa căn chỉnh, định dạng :(
 

File đính kèm

trong bài em sử dụng hàm index và match nhưng chỉ tham chiếu đúng được 1 phần
phần còn lại thì ko thể tham chiếu được và hiện lỗi là #NA.
Mặc dù công thức đúng, tham chiếu cũng đúng. Nhưng ko hiểu sao lại ko ra kết quả.
nhờ sự giúp đỡ của các anh chị
Đây là bài của em ạ, em mới làm phần thô thôi, chưa căn chỉnh, định dạng :(
Công thức của bạn:
=INDEX($E$25:$H$28,MATCH(E9,$E$26:$E$28,1),MATCH(F9,$F$25:$H$25,1))
Công thức của tôi:
=INDEX($E$25:$H$28,MATCH(E9,$E$25:$E$28,0),MATCH(F9,$E$25:$H$25,0))
Trong hàm MATCH() bạn thay số 1 (tìm tương đối) thành số 0 (tìm kiếm chính xác)
 

File đính kèm

trong bài em sử dụng hàm index và match nhưng chỉ tham chiếu đúng được 1 phần
phần còn lại thì ko thể tham chiếu được và hiện lỗi là #NA.
Mặc dù công thức đúng, tham chiếu cũng đúng. Nhưng ko hiểu sao lại ko ra kết quả.
nhờ sự giúp đỡ của các anh chị
Đây là bài của em ạ, em mới làm phần thô thôi, chưa căn chỉnh, định dạng :(
Thêm cách dùng hàm VLOOKUP hoặc HLOOKUP
Mã:
=VLOOKUP(E9;$E$26:$H$28;MATCH(F9;$E$25:$H$25;0);0)
Mã:
=HLOOKUP(F9;$F$25:$H$28;MATCH(E9;$E$25:$E$28;0);0)
 
INDEX và MATCH

Nhờ các anh chị giúp dủm hàm INDEX và MATCH theo như bảng excel đính kèm vì khi mình sử dụng thì nó cho kết quả sai. Nên nhờ anh chị giúp dủm .Thanks !
 

File đính kèm

Nhờ các anh chị giúp dủm hàm INDEX và MATCH theo như bảng excel đính kèm vì khi mình sử dụng thì nó cho kết quả sai. Nên nhờ anh chị giúp dủm .Thanks !

Đúng ra, cấu trúc cũng như kết hợp hàm nó không sai - lỗi ở đây là lỗi dữ liệu của bạn (bạn phải hiểu rõ ký tự đại diện trong Excel)
Tôi phân tích cho bạn nha:
Cái này:
& cái này
=> Excel nó hiểu là chẳng khác gì nhau - 2 chuỗi của bạn đều bắt đầu từ 12 & kết thúc 1m, ở giữa là ký tự * (nó đại diện cho một chuỗi ký tự bất cứ là chuỗi gì - ví dụ: 12''*1234567811m cũng chẳng khác gì 12''*1m) -> Thế nên khi dùng công thức thì nó cũng hiểu như nhau & chọn giá trị tham chiếu đầu là cơ sở.

Do đó, để kết quả đúng, bạn có thể dùng các cách sau, hoặc :
- Giữ nguyên công thức & xóa các dấu *
- Nếu không muốn xóa * thì sửa công thức của bạn thành:
PHP:
=INDEX(TH!$C$3:$C$7,MATCH(CT!A2&SUBSTITUTE(CT!B2,"*",""),TH!$A$3:$A$7&SUBSTITUTE(TH!$B$3:$B$7,"*",""),0))
- Gọn hơn, ta dùng Sumproduct:
=SUMPRODUCT((TH!$A$3:$A$7=CT!A2)*(TH!$B$3:$B$7=CT!B2)*TH!$C$3:$C$7)
 
Lần chỉnh sửa cuối:
M đã hiểu rồi cảm ơn bạn dat_butmuc nhiều nha . Thanks very much !
 
Giúp đỡ hàm "index và match"

Chào mọi người,
Mình đang muốn tạo một file In Phiếu giao hàng theo dữ liệu đã nhập bên bảng nhập liệu.
Mình biết nên dùng hàm Index và Match nhưng do không rành lắm nên mình không thể làm được.
Vậy nhờ mọi người giúp mình với.

Mình muốn khi chọn số phiếu cần in thì cột STT, Nội dung, đơn vị và số lượng sẽ tự động link theo.

Mình gởi file đính kèm, mong nhận được sự giúp đỡ.
 

File đính kèm

Chào mọi người,
Mình đang muốn tạo một file In Phiếu giao hàng theo dữ liệu đã nhập bên bảng nhập liệu.
Mình biết nên dùng hàm Index và Match nhưng do không rành lắm nên mình không thể làm được.
Vậy nhờ mọi người giúp mình với.

Mình muốn khi chọn số phiếu cần in thì cột STT, Nội dung, đơn vị và số lượng sẽ tự động link theo.

Mình gởi file đính kèm, mong nhận được sự giúp đỡ.
Bài này Bạn chỉ cần dùng 1 cột phụ ở sheets nhập liệu sau đó dùng hàm VLOOKUP cho dễ nhé!
 

File đính kèm

Bài này Bạn chỉ cần dùng 1 cột phụ ở sheets nhập liệu sau đó dùng hàm VLOOKUP cho dễ nhé!

Cảm ơn bạn đã giúp mình biết thêm 01 cách giải quyết vấn đề rất dễ
Mình muốn hỏi thêm: mình sẽ tự set sẵn số hàng ngang trong PGH nhưng khi cần in, nó sẽ tự lọc lại và rút ngắn bớt tương ứng với số hàng đã link qua. Mình muốn để trống lại bên dưới 01 hàng thôi.
 
Cảm ơn bạn đã giúp mình biết thêm 01 cách giải quyết vấn đề rất dễ
Mình muốn hỏi thêm: mình sẽ tự set sẵn số hàng ngang trong PGH nhưng khi cần in, nó sẽ tự lọc lại và rút ngắn bớt tương ứng với số hàng đã link qua. Mình muốn để trống lại bên dưới 01 hàng thôi.
Cái này có lẽ phải dùng VBA mới được. Mà khi rút trích qua Bạn chỉ cần thêm 1 động tác trước khi in cho ẩn đi những dòng phía dưới là được, khi in xong cho hiện dòng lại để cập nhật là được mà.
 

File đính kèm

ban xem file và chịu khó dùng autofilter trước khi in nhé
chỉ cần dùng if kết hợp với hlookup cung ok thôi mà

Thật ra mình muốn khóa bảo vệ sheet in PGH nên không muốn dùng bất cứ thao tác nào thêm nữa trong file in PGH hết.

Bởi vì nếu khóa bảo vệ thì sẽ không Sort lại được.
Nhưng dù sao cũng cảm ơn mọi người đã góp ý cho mình.

Còn nếu phải dùng VBA như bạn MinhCong nói thì thôi, vì mình không rành VBA nên nếu bạn có làm dùm mình thì lỡ sau này cần chỉnh sửa gì thì tự mình sẽ không làm được, lúc đó lại phiền mọi người,

Chân thành cảm ơn.
 
Cách dùng hàm Index, Match !

Giúp mình làm bài này, tớ không dùng được vlookup và hlookup
 

File đính kèm

Giúp mình làm bài này, tớ không dùng được vlookup và hlookup
Làm giúp Bạn một số vấn đề, còn vẽ Biểu đồ và trích lọc dữ liệu Bạn tự làm nhé!
1/Số trong định mức:
Mã:
G3 =MIN(F3-E3;HLOOKUP(LEFT(D3;2);$I$17:$M$21;MATCH(RIGHT(D3);$H$17:$H$21;0);0))
2/Số ngoài định mức:
Mã:
H3 =MAX(0;F3-E3-G3)
3/Tiền trong định mức:
Mã:
I3 =G3*VLOOKUP(LEFT(D3;2);$B$18:$F$22;MATCH(RIGHT(D3);$B$17:$F$17;0);0)
Hoặc:
Mã:
I3 =G3*INDEX($C$18:$F$22;MATCH(LEFT(D3;2);$B$18:$B$22;0);MATCH(RIGHT(D3);$C$17:$F$17;0))
4/Tiền ngoài định mức:
Mã:
J3 =H3*1,5*VLOOKUP(LEFT(D3;2);$B$18:$F$22;MATCH(RIGHT(D3);$B$17:$F$17;0);0)
Hoặc:
Mã:
J3 =H3*1,5*INDEX($C$18:$F$22;MATCH(LEFT(D3;2);$B$18:$B$22;0);MATCH(RIGHT(D3);$C$17:$F$17;0))
5/Thống kê số lượng theo loại hộ:
Mã:
D35 =COUNTIF($D$3:$D$14;B35&"*")
Mã:
F35 =SUMIF($D$3:$D$14;B35&"*";$K$3:$K$14)
6/Thống kê số lượng theo khu vực thì tương tự như thống kê theo loại hộ, chỉ chỉnh lại điều kiện công thức 1 chút là OK.
 

File đính kèm

Bạn ơi hàm MIN có phải là hảm nhỏ nhất không sao bạn lại dùng nó vậy.
MIN(F3-E3;HLOOKUP(LEFT(D3;2);$I$17:$M$21;MATCH(RIGHT(D3);$H$17:$H$21;0);0))
bạn giải thích hộ mình hàm MIN nhé
 
Bạn ơi hàm MIN có phải là hảm nhỏ nhất không sao bạn lại dùng nó vậy.
MIN(F3-E3;HLOOKUP(LEFT(D3;2);$I$17:$M$21;MATCH(RIGHT(D3);$H$17:$H$21;0);0))
chỉ số cũ - chỉ số mới tức là f3-e3=241
định mức cho phép HLOOKUP(LEFT(D3;2);$I$17:$M$21;MATCH(RIGHT(D3);$H$17:$H$21;0);0)=150
bác minh công dùng hàm min để lấy giá trị bé nhất của định mức cho phép và chỉ số tiêu thụ
nếu chỉ số tiêu thụ lớn hơn định mức cho phép thì lấy định mức cho phép, còn lại là ngoài định mức
và ngược lại
bạn giải thích hộ mình hàm MIN nhé
góp vui thêm 2 công thức nũa
G3=MIN($F3-$E3,INDEX($H$16:$M$21,CODE(RIGHT($D3))-62,MATCH(LEFT($D3,2),$H$17:$M$17,0)))
H3=(F3-E3)-G3 chỉ cần dùng thế này thôi vì đồng hồ điện bao giờ chỉ số mới trừ đi chỉ số cũ cũng >=0
 
Lần chỉnh sửa cuối:
Bạn ơi hàm MIN có phải là hảm nhỏ nhất không sao bạn lại dùng nó vậy.
MIN(F3-E3;HLOOKUP(LEFT(D3;2);$I$17:$M$21;MATCH(RIGHT(D3);$H$17:$H$21;0);0))
bạn giải thích hộ mình hàm MIN nhé
Hàm min là hàm lấy giá trị nhỏ nhất. Đối với công thức trên nó sẽ lấy giá trị nhỏ của 2 công thức:
F3-E3: Là Số mới - Số cũ
HLOOKUP(LEFT(D3;2);$I$17:$M$21;MATCH(RIGHT(D3);$H$17:$H$21;0);0): Đây là hàm dò tìm trong bảng định mức.
 
Index và match!

Bài toán này em nghĩ cũng dùng hàm index và match. Tuy nhiên em chưa tìm được cách để sử dụng chúng. Nhờ các bác xem và tháo gỡ hộ em nhé.

Xin cảm ơn các bác.
 

File đính kèm

Bài toán này em nghĩ cũng dùng hàm index và match. Tuy nhiên em chưa tìm được cách để sử dụng chúng. Nhờ các bác xem và tháo gỡ hộ em nhé.

Xin cảm ơn các bác.

Thế này là đủ:
PHP:
=VLOOKUP(E3,$A$21:$E$24,LOOKUP(--F3,{1,4,11,21},{2,3,4,5}),)

Còn muốn dùng Index & match theo topic này thì vầy:
PHP:
=INDEX($B$21:$E$24,MATCH(E3,$A$21:$A$24,0),LOOKUP(--F3,{1,4,11,21},{1,2,3,4}))
 
Lần chỉnh sửa cuối:
Thế này là đủ:
PHP:
=VLOOKUP(E3,$A$21:$E$24,LOOKUP(--F3,{1,4,11,21},{2,3,4,5}),)

Còn muốn dùng Index & match theo topic này thì vầy:
PHP:
=INDEX($B$21:$E$24,MATCH(E3,$A$21:$A$24,0),LOOKUP(--F3,{1,4,11,21},{1,2,3,4}))
Dùng MATCH() sẽ gọn hơn là dùng LOOKUP()
Mã:
=VLOOKUP(E3,$A$21:$E$24,MATCH(--F3,{0,1,4,11,21}),)
Mà nếu dựa vào quy luật của dữ liệu thì có thể ngắn hơn nữa. Không cần MATCH() hay VLOOKUP() gì cả.
Mã:
=(69-CODE(E3))*MATCH(--F3,{1,4,11,21})
 
Cám ơn các bác đã chỉ giáo. Em sẽ tiếp tục ngâm kíu và có gì thắc mắc sẽ... hỏi tiếp ^^.
 
Mọi người chỉ giúp tôi với về cái hàm index và match cho trường hợp này với

khi tôi match rõ ràng giá trị ra thì nó ra kết quả còn nếu chỉ match địa chỉ ô chứa giá trị của nó thì ko ra kết quả có cách nào để khắc phục không vậy

VD như trong file tôi đính kèm tại ô K12 khi match giá trị tại ô k13 (bên trong nó giá trị là nguyễn thúy an) thì nó ko ra kết quả
Trong khí đó nếu tôi match rõ ràng match"nguyễn thúy an" thì nó ra kết quả vậy có cách nào để nó nhận biết giá trị bên trong không


Hỏi vòng vèo như này quả là khó hiểu mong mọi người thông cảm mọi người xem file sẽ hiểu vấn đề ngay

Cám ơn đã xem
 

File đính kèm

khi tôi match rõ ràng giá trị ra thì nó ra kết quả còn nếu chỉ match địa chỉ ô chứa giá trị của nó thì ko ra kết quả có cách nào để khắc phục không vậy

vd như trong file tôi đính kèm tại ô k12 khi match giá trị tại ô k13 (bên trong nó giá trị là nguyễn thúy an) thì nó ko ra kết quả
trong khí đó nếu tôi match rõ ràng match"nguyễn thúy an" thì nó ra kết quả vậy có cách nào để nó nhận biết giá trị bên trong không


hỏi vòng vèo như này quả là khó hiểu mong mọi người thông cảm mọi người xem file sẽ hiểu vấn đề ngay

cám ơn đã xem
k12 phải như thế này mới đúng
=index($a$2:$h$49,match($k$13,$b$2:$b$49),1)
 
khi tôi match rõ ràng giá trị ra thì nó ra kết quả còn nếu chỉ match địa chỉ ô chứa giá trị của nó thì ko ra kết quả có cách nào để khắc phục không vậy

VD như trong file tôi đính kèm tại ô K12 khi match giá trị tại ô k13 (bên trong nó giá trị là nguyễn thúy an) thì nó ko ra kết quả
Trong khí đó nếu tôi match rõ ràng match"nguyễn thúy an" thì nó ra kết quả vậy có cách nào để nó nhận biết giá trị bên trong không


Hỏi vòng vèo như này quả là khó hiểu mong mọi người thông cảm mọi người xem file sẽ hiểu vấn đề ngay

Cám ơn đã xem
Công thức ở K12
=INDEX($A$2:$A$47,MATCH(K13,$B$2:$B$47,0))
Hàm MATCH bạn phải dò tìm chính xác nhé (tham số cuối là 0)
 
công thức gần đúng rồi nhưng vẫn chưa ra mã số đúng bạn à bạn thử click vào mục tên xem mã số nó ra không đúng

công thức như này chuẩn rùi nè he he pro cám ơn nha
INDEX($A$2:$A$49,MATCH(K13,$B$2:$B$49,-1))

k12 phải như thế này mới đúng
=index($a$2:$h$49,match($k$13,$b$2:$b$49),1)


chỗ này bro để $k$13 là hok ra đc kết quả phải bỏ dấu $ đi mới ra đc kết quả
 
Chỉnh sửa lần cuối bởi điều hành viên:
công thức như này chuẩn rùi nè he he pro cám ơn nha
INDEX($A$2:$A$49,MATCH(K13,$B$2:$B$49,-1))

Công thức sai trong trường hợp bài của bạn ( do match_type = -1: Hàm sẽ dò tìm giá trị nhỏ nhất trong lookup_array mà có giá trị >= giá trị của lookup_value)

Cho bạn công thức này:
PHP:
=OFFSET($A$1,MATCH(K13,$B$2:$B$47,),)
 
Hỏi về Hàm Match và index!

Nhờ mọi người giúp em với, em là lính mới và đang tìm hiểu về hàm match nhưng em làm hoài kết quả vẫn không ra như yêu cầu, em không biết mình sai chổ nào? có lẻ em chưa thật sự hiểu về hàm match và index, rất mong mọi người giúp đỡ. File của e đây ạ. Chân thành cám ơn mọi người rất nhiều
 

File đính kèm

Nhờ mọi người giúp em với, em là lính mới và đang tìm hiểu về hàm match nhưng em làm hoài kết quả vẫn không ra như yêu cầu, em không biết mình sai chổ nào? có lẻ em chưa thật sự hiểu về hàm match và index, rất mong mọi người giúp đỡ. File của e đây ạ. Chân thành cám ơn mọi người rất nhiều

Cái này dùng Index, Offset với Match hay dùng Sumproduct, Hlookup, Vlookup đều được nhưng theo mình nghĩ bạn nên dùng bằng Pivot thì hay hơn (đơn giản, gọn nhẹ, nhanh & hiệu quả)
Bạn chọn phương án nào để ta tiếp tục ?
 
Lần chỉnh sửa cuối:
Pivot mình chưa biết, mình đang tìm hiểu và biết về Index, Offset, Match, Sumproduct, Hlookup, Vlookup nên nếu được bạn cho mình xin các cách giải có liên quan đi nhé. Cám ơn bạn thật nhiều.
 
Lần chỉnh sửa cuối:
Thật tình mình mới xài công thức hlookup Và Vlookup thui, chưa xài hàm Index va hàm match bao giờ nên cũng chưa hình dung ra được nó sử dụng như thế nào?
Nói nôm na là hàm vlookup , hlookup thì dò tìm kiếm dữ liệu dựa theo dòng hoặc cột
còn hàm Index thì dò tìm dữ liệu như trận để trả về giá trị tiêu đề của dòng và cột
giống như 2 hàm này có cũng là hàm dò tìm nhưng 1 cái dò tìm nội dung , 1 dò tìm tiêu đề
Còn hàm match như bạn giải thích, mình cũng hiểu hơi hơi, là trả về số thứ tự cột(dòng) của giá trị đó trong bảng dữ liệu tham chiếu đang xét

Bắt tay vào làm thử thôi, thank bạn nhiều vì đã chia sẽ kiến thức

- Hàm vlookup, hlookup trả về giá trị dựa trên điều kiện tìm kiếm là một giá trị.
- Hàm index trả về giá trị dựa trên điều kiện tìm kiếm là 2 đk thứ tự cột và thứ tự hàng của giá trị tìm kiếm. Hàm match dùng để xác định thứ tự cột hoặc hàng của giá trị đó trong bảng tham chiếu dữ liệu.
Chẳng hạn: Để biết giá thành một căn nhà các bạn cần xác định cấp nhà (biệt thự, chung cư,...) và diện tích.
- Nếu bạn dùng vlookup hoặc hlookup thì đk tìm kiếm được đưa ra là giá trị "biệt thự" hoặc diện tích "10m2". VD: vlookup ("10m2", e14:k25,2), vlookup ("biệt thự, e14:k25,2), trong đó "10m2" là điều kiện tìm kiếm, e14:k25 là bảng tham chiếu dữ liệu, 2 là cột để lấy giá trị trong bảng tham chiếu.
- Còn dùng index thì đk tìm kiếm được ra là thứ tự cột của giá trị "biệt thự" trong bảng dliệu tham chiếu và thứ tự hàng của giá trị "10m2".
Để xác định xem giá trị "biệt thự" nằm ở cột thứ mấy và "10m2" nằm ở hàng thứ mấy thì dùng match.
VD: index (e14:k25, match("10m2", e14:e25,0), match("biệt thự", f15:k25,0)), trong đó e14:k25 là bảng tham chiếu dữ liệu, match ("10m2", e14:k25,0): xác định xem đk tìm kiếm 10m2 nằm ở vị trí hàng thứ mấy trong bảng tham chiếu, match("biệt thự", f15:k25,0): xác định xem đk tìm kiếm "biệt thự" nằm ở vị trí cột thứ mấy trong bảng tham chiếu.
Tóm lại vlookup, hlookup tìm kiếm theo 1 chiều ngang hoặc dọc, còn index kết hợp match tìm kiếm theo cả 2 chiều ngang và dọc.
Phù, hôm nay rảnh nên giải thích tỉ mỉ. Hy vọng đọc xong mọi người sẽ không "hiểu chết liền" :frusty:
 
Khó khăn về hàm index vào match

mọi người giúp mình với, cột Thuế không hiểu sao mình sửa đi sửa lại nhưng không biết sai chỗ nào nữa +-+-+-++-+-+-++-+-+-+
 

File đính kèm

mọi người giúp mình với, cột Thuế không hiểu sao mình sửa đi sửa lại nhưng không biết sai chỗ nào nữa +-+-+-++-+-+-++-+-+-+
Công thức của bạn là:
Mã:
=INDEX($D$16:$E$19,MATCH(LEFT(B5,1),$C$16:$C$19,0),MATCH(RIGHT(B5,1),D15:E15,0))
Hãy sửa lại thành:
Mã:
=INDEX($D$16:$E$19,MATCH(LEFT(B5,1),$C$16:$C$19,0),MATCH([COLOR=red][B]1*[/B][/COLOR]RIGHT(B5,1),$D$15:$E$15,0))
Còn tôi thì thích VLOOKUP hơn:
PHP:
=VLOOKUP(LEFT(B5),$C$16:$E$19,RIGHT(B5)+1,0)
Cái nào ngắn gọn hơn?
 
Hãy sửa lại thành:
Mã:
=INDEX($D$16:$E$19,MATCH(LEFT(B5,1),$C$16:$C$19,0),MATCH([COLOR=red][B]1*[/B][/COLOR]RIGHT(B5,1),$D$15:$E$15,0))
bạn có thể giải thích giúp mình về cái chỗ 1* được không, mình không hiểu chỗ đó lắm, kết quả thì ok r :D
 
Bạn dùng hàm Right() thì nó sẽ hiện dạng text, bạn phải chuyển sang dạng number mới được. Có thể bạn dùng hàm =value(right()) cũng được.
 
Hãy sửa lại thành:
Mã:
=INDEX($D$16:$E$19,MATCH(LEFT(B5,1),$C$16:$C$19,0),MATCH([COLOR=red][B]1*[/B][/COLOR]RIGHT(B5,1),$D$15:$E$15,0))
bạn có thể giải thích giúp mình về cái chỗ 1* được không, mình không hiểu chỗ đó lắm, kết quả thì ok r :D
Kết quả của hàm Left, Right là chuổi, vì vậy cho dù có ra được số 1 hoặc 2 thì đấy cũng không phải là Number ---> Tra vào bảng nó sẽ chẳng hiểu
Để chứng minh nhận định này, bạn làm thí nghiệm sau:
- Tại A1 bạn gõ chữ 3C
- Tại B1 bạn gõ số 3
- Tại C1 bạn gõ công thức =LEFT(A1,1)
- Tại D1 bạn gõ công thức =C1=B1
Xem thử kết quả có phải là FALSE hay không? Dù B1=3, C1 cũng = 3, nhưng B1 thật sự là Number còn C1 thì không phải
Ta nhân thêm 1 vào sẽ biến cái chuổi chứa số kia trở thành 1 Number thật sự ---> Lúc này tra vào bảng nó mới hiểu
 
Hỏi về Hàm Match và index!

<br>Hy vọng mọi ngưòi chỉ cho em cách giải bài này bàng hàm Index và match để em hiểu hơn về hàm này, cách sử dụng em còn mông lung chưa biết sử lý cũng như vận dụng trong những trường hợp khác nhau. trường hợp này rất mong được giải đáp
 

File đính kèm

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

Back
Top Bottom