Tính tiền điện tiêu thụ theo giá luỹ tiến

Liên hệ QC
Cho mình “tọc mạch” xíu xiu. Lúc bạn post cái hướng dẫn này là khoảng 3h chiều tại VN, chiều còn đang rất rực rỡ mà quocgiacan đã “mộng đẹp” rồi sao? quocgiacan không sống ở VN à? quocgiacan đang sống ở đâu thế nhỉ?
hì hì, cao thủ Excel ở đây là vậy đó bạn. Khi nào có câu hỏi lý thú thì sẵn sàng thức thâu đêm để giải cho ra, còn lúc không có câu hỏi thì tranh thủ ...ngủ bù.

p.s.2 Bạn cũng là dân kế toán à? Lâu ngày gặp lại “người quen”, “mừng húm”! Mình cũng là dân kế toán nhưng mình chuyên về Magagement Accounting hơn là Financial Accounting. Bạn thiên về mảng nào thế?
Mình chuyên về Finance. Còn công việc cụ thể bây giờ thì hỗn hợp, mảng nào cũng dính một chút.
 
Bổ sung thêm 1 chút cho giải thích của anh quocgiacan về hàm LOOKUP:
Ngay bản thân nó cũng nói lên mục đích của nó: là hàm tìm kiếm giá trị nào đó trong range và trả về giá trị nào đó trong chính vùng đó hay vùng khác có liên quan.
Có nhiều hàm tìm kiếm khác như VLOOKUP, HLOOKUP, INDEX. Cần phân biệt khi nào thì dùng hàm nào, tùy theo yêu cầu.
* Nếu vùng có nhiều cột và giá trị tìm nằm trong cột đầu tiên bên trái => VLOOKUP
* Nếu vùng có nhiều hàng và giá trị tìm trong dòng đầu tiên trên cùng => HLOOKUP
* Nếu giá trị tìm không nằm trong cột, dòng đầu tiên => INDEX
* Nếu giá trị tìm nằm trong cột, dòng mà các giá trị nằm trong cột, dòng đó được sắp xếp TĂNG DẦN: dùng LOOKUP.

Hàm LOOKUP đặc biệt được dùng trong các trường hợp:
1) Tìm gần đúng:
Ví dụ về tìm tỷ giá USD tại một thời điểm trong quá khứ. Có bảng thống kê các lần thay đổi tỷ giá như sau (vùng A2:B4):
------A--------------B------
-------Ngày -------Tỷ giá
01/01/2017------22,300
01/04/2017------22,500
01/11/2017------22,000
Yêu cầu: ô C1 chứa ngày bất kỳ. Tại C2 dùng công thức tính ra tỷ giá tại thời điểm đó.

Phân tích: A2:A4 là dãy thời gian tăng dần. C1 có thể nằm đâu đó trong vùng A2:A4, có thể nằm ngoài. (Để đơn giản, xét C1 là ngày tính từ 2017 trở đi)
Nếu C1=01/02/2017, tỷ giá của ngày đó là tỷ giá của lần thay đổi trước đó, là của ngày 01/01/2017, là 22300

Vậy ta có 2 range: A2:A4 và B2:B4

Dùng LOOKUP:

CT1 = LOOKUP(C1,A2:A4)
CT2 = LOOKUP(C1,A2:A4,B2:B4)

LOOKUP sẽ tìm giá trị ngày 01/02/2017 trong vùng A2:A4 TỪ DƯỚI lên, cho đến khi gặp giá trị đầu tiên <=C1. Tức là ô A2
(Nếu C1=31/12/2017, sẽ dừng lại tại ô A4)
Lúc này, CT1 sẽ trả về chính ô A2, là ngày 01/01/2017
CT2 lại trả về vị trí tương ứng bên B2:B4 và trả về B2, tức là 22,300

Hàm LOOKUP còn nhiều công dụng đặc biệt khác nữa, khi nào đụng mình sẽ giới thiệu sau khi có thời gian.
 
hì hì, cao thủ Excel ở đây là vậy đó bạn. Khi nào có câu hỏi lý thú thì sẵn sàng thức thâu đêm để giải cho ra, còn lúc không có câu hỏi thì tranh thủ ...ngủ bù.

Bộ cao thủ Excel ở GPE không có “đi câu cơm” à? Hay là làm dziệc ở VN thích “mộng đẹp” lúc nào thì “mộng đẹp” lúc ấy? Sướng nhuể! Trong khi mình lúc trước làm việc, nhiều lúc con mắt nó dzíp lại mở không lên, phải cố gắng “chạy vòng vòng” hay “lò cò” trong văn phòng cho nó tỉnh ngủ để mà tiếp tục “chiến đấu” với cái “mớ” công dziệc. Tội nghiệp “con bé”!:(


Mình chuyên về Finance. Còn công việc cụ thể bây giờ thì hỗn hợp, mảng nào cũng dính một chút.

Công dziệc của bạn giống bảng màu xanh đỏ hường vàng tím… à nha, chắc là thú dzị & kích thích trí “tò mò” sáng tạo lắm hen.

Cái dzụ Finance thì mình có học mấy cái selective units lúc “mài đũng quần” ở Sydney uni, bây giờ nếu “ra đường gặp người wen” chắc cũng biết “say Hello” (hy vọng “hão huyền” là vậy???)


p.s. Mình thích cái signature của bạn lắm à nghen, “oách ra phết”! Bạn tự “mày mò” “sáng chế” ra à? “Mèm ơi” bạn cũng “văn chương lãng mạng” gớm, cái dzụ này thì mình dzuyệt (ý mình là mình thích đó mà, vì mình cũng hay “sáng chế” “lung ta lung tung” lắm)
 
1. LOOKUP(N15,{0,50,100},{2,3,5}%) tìm N15 có trong khoảng nào của mảng {0,50,100}, nó tương tự MATCH(N15,{0,50,100},1), Ví dụ: N15=30 nó ở khoảng 0->50: khoảng 1, N15=97 nó ở khoảng 2, N15=422 nó ở khoảng 3. Nhưng thay vì trả về số thứ tự, nó dẫn đến kết quả của mảng {2,3,5}% tương ứng số thứ tự mà nó tìm được. Công thức này tìm được số phần trăm phụ phí, nếu nhân cho trị giá thì ra Giá trị phụ phí cộng thêm vào.
Cái dzụ này nhờ sự giải thích cặn kẽ của bạn nên mình đã tìm thấy “Chân-Thiện-Mỹ”. Haleluya!:)

Trong Match, kiểu dò 1 là kiểu dò không chính xác phải vậy không quocgiacan? Kiểu dò này có giống kiểu dò 1 của Vlookup không vậy? Chắc cũng là “bà con xa" gì đấy ấy nhuể?

3. (LOOKUP(N15,{0,50,100},{2,3,5}%)+1)*SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50) trả về tổng Giá trị điện lũy tiến và phụ phí, cũng là dạng đem thừa số chung ra ngoài, như biểu thức toán: (a+1)b = ab+b

Sau khi đọc hướng dẫn của bạn & rồi so sánh giữa công thức của bạn với công thức của mình thì hình như mình đã “ngộ ngộ” ra “chân lý”.
upload_2017-11-1_11-56-21.png

V15=(LOOKUP(N15,{0,50,100},{2,3,5}%)+1)*SUM((N15>{0,50,100})*(N15-{0,50,100})*{2,1,1}*50) (công thức của “sư phụ”)

V15=(IF(N15<=50,R15*2%,IF(N15<=100,R15*3%,R15*5%)))+R15 (công thức của “đệ tử”)
V15=((IF(N15<=50,2%,IF(N15<=100,3%,5%)))*R15)+R15 (dạng rút thừa số chung của công thức trên).
V15=((IF(N15<=50,2%,IF(N15<=100,3%,5%)))+1)*R15

→Vậy là “chỗ ứ đọng” đã được “khai thông”, “mừng đến sắp phát khóc”!:)


4. Chỉnh định dạng số 0 thành "-" chỉ cần đứng tại ô, hay Vùng có số/Vùng số muốn định dạng, nhấn ở trên Menu\Home thanh bar, có Icon hình dấu phẩy "," và Icon ".00->.0"

Chúc bạn ngày vui.

Mình tìm thấy “chân lý” rồi, mừng quá anh chị em ơi!:)

Mình cũng chúc bạn một ngày dzui “tới tận nóc luôn”:D
 
Bộ cao thủ Excel ở GPE không có “đi câu cơm” à?
Ai chẳng phải ăn cơm.
Anh quocgiacan thì không biết thế nào
Như bác Chanh TQ, em HaiYen17, concogia, về hưu rồi, cơm có sẵn, chỉ khi bác gái gọi dùng cơm thì buông thôi, còn thì mút chỉ cà tha
Mình và một số anh chị em khác, lúc nào "câu" thì câu, lúc chờ "cắn" thì tranh thủ
Kế toán thì qua kỳ báo cáo (như bây giờ) buông cần được rồi.
 
Bổ sung thêm 1 chút cho giải thích của anh quocgiacan về hàm LOOKUP:
Ngay bản thân nó cũng nói lên mục đích của nó: là hàm tìm kiếm giá trị nào đó trong range và trả về giá trị nào đó trong chính vùng đó hay vùng khác có liên quan.
Có nhiều hàm tìm kiếm khác như VLOOKUP, HLOOKUP, INDEX. Cần phân biệt khi nào thì dùng hàm nào, tùy theo yêu cầu.
* Nếu vùng có nhiều cột và giá trị tìm nằm trong cột đầu tiên bên trái => VLOOKUP
* Nếu vùng có nhiều hàng và giá trị tìm trong dòng đầu tiên trên cùng => HLOOKUP
* Nếu giá trị tìm không nằm trong cột, dòng đầu tiên => INDEX
* Nếu giá trị tìm nằm trong cột, dòng mà các giá trị nằm trong cột, dòng đó được sắp xếp TĂNG DẦN: dùng LOOKUP.

Hàm LOOKUP đặc biệt được dùng trong các trường hợp:
1) Tìm gần đúng:
Ví dụ về tìm tỷ giá USD tại một thời điểm trong quá khứ. Có bảng thống kê các lần thay đổi tỷ giá như sau (vùng A2:B4):
------A--------------B------
-------Ngày -------Tỷ giá
01/01/2017------22,300
01/04/2017------22,500
01/11/2017------22,000
Yêu cầu: ô C1 chứa ngày bất kỳ. Tại C2 dùng công thức tính ra tỷ giá tại thời điểm đó.

Phân tích: A2:A4 là dãy thời gian tăng dần. C1 có thể nằm đâu đó trong vùng A2:A4, có thể nằm ngoài. (Để đơn giản, xét C1 là ngày tính từ 2017 trở đi)
Nếu C1=01/02/2017, tỷ giá của ngày đó là tỷ giá của lần thay đổi trước đó, là của ngày 01/01/2017, là 22300

Vậy ta có 2 range: A2:A4 và B2:B4

Dùng LOOKUP:

CT1 = LOOKUP(C1,A2:A4)
CT2 = LOOKUP(C1,A2:A4,B2:B4)

LOOKUP sẽ tìm giá trị ngày 01/02/2017 trong vùng A2:A4 TỪ DƯỚI lên, cho đến khi gặp giá trị đầu tiên <=C1. Tức là ô A2
(Nếu C1=31/12/2017, sẽ dừng lại tại ô A4)
Lúc này, CT1 sẽ trả về chính ô A2, là ngày 01/01/2017
CT2 lại trả về vị trí tương ứng bên B2:B4 và trả về B2, tức là 22,300

Hàm LOOKUP còn nhiều công dụng đặc biệt khác nữa, khi nào đụng mình sẽ giới thiệu sau khi có thời gian.


Ối zời đất ơi, phải nói là bạn có tài giải thích à nghen, nhờ vậy mà mình hình như “ngộ ngộ” ra “cách làm dziệc” của Lookup. Hình như Lookup dạng Vector thì mình hiểu hiểu còn Lookup dạng mảng thì mình hơi không hiểu hiểu (cái này còn “hên xui”!):(

Mà đọc lý thuyết thì hiểu, nhưng muốn rành rành thì phải có bài tập thực hành & phải thực hành cho nhiều dzào!

Có ai có nhiều bài tập thực hành về hàm Lookup không dzậy? Làm ơn cho mình xin files với, mình chân thành cảm ơn trước.:)

Mình đính kèm cái file mà mình tập hợp các kiến thức mình biết về hàm Lookup, bạn nào cũng “lơ tơ mơ” về hàm Lookup như mình thì cứ “nhào” dzô mà tham khảo. Nhân tiện đây xem dùm mình là mình có sai ở đâu đó trong file không, nếu sai thì sửa dùm mình, đừng ném đá mình mà tội nghiệp vì mình cũng “lờ tờ mờ” về hàm Lookup lắm:mad:. Nếu có gì bổ sung thì cứ “mạnh miệng” mà “thêm thắt hoa lá cành” cho nó “hoàn chỉnh xôm tụ” để anh/chị/em/bạn ai còn “tay mơ” như mình có cái để mà tham khảo. Còn nếu mình có gì “xai xót” thì xin “mở lòng từ bi” mà “khoan hồng” cho "con nhỏ". Chân thành cảm ơn:)

Chúc bạn & toàn thể thành viên GEP đã/đang/sẽ wen biết một buối tối tràn đầy niềm dzui.:):):)
 

File đính kèm

  • Lookup.xls
    137 KB · Đọc: 7

File đính kèm

  • Untitled1.png
    Untitled1.png
    25.3 KB · Đọc: 14
  • Book1.xlsx
    11.1 KB · Đọc: 10
Thấy bạn chịu khó lầy mình cũng lầy theo. Một ứng dụng khác của LOOKUP:
Xem file nhé.

Bebo 021999 ới ời,

“Xí” để từ từ mình giải thích cái file bạn gởi theo cách mình “wen biết” về “em” Lookup không thôi mình “lịu” (just joking, đùa tí cho nó có không khí):)
upload_2017-11-2_9-10-29.png

Unit Price =LOOKUP(2,1/(A2:A7=F2)/(B2:B7=G2),C2:C7)

Thứ nhất – Sao cái công thức này nhìn “lạ wắc lạ wơ” dzậy ta? Sao nó chẳng “sao y bản chính” của dạng Vector hay mảng gì “hết trơn hết trọi” dzậy? Chỉ là hơi giông giống thôi.

  • Dạng Vector= LOOKUP(lookup_value, lookup_vector, [result_vector])
  • Dạng Mảng=LOOKUP(lookup_value, array)

Thứ hai – Mình “nhìn wanh nhìn wất” thì thấy có “/” nên mình nghĩ đây là công thức mảng??? Đã gặp công thức có “/” đâu đó trong các bài giải trước, vẫn chưa rành lắm về cách sử dụng, vẫn còn “lờ tờ mờ” nên vẫn chưa dám "say Hello" với em ý. Có phải “/” nghĩa là chia không? Hay còn ý nghĩa khác???

Thứ ba – để mình giải thích công thức theo cách mình hiểu nghen, chả rõ là có đúng “đâu vào đâu” hay không nữa???

LOOKUP(2,1/(A2:A7=F2)/(B2:B7=G2),C2:C7) → tìm điều kiện thứ 2 trong vùng A2:A7(mà điều kiện này tương ứng với điều kiện F2???), tìm điều kiện thứ 1 trong vùng B2:B7(mà điều kiện này tương ứng với điều kiện G2???), tìm điều kiện H2 trong vùng C2:C7. Nếu mình hiểu ngu xin đừng ném đá:(. Cám ơn trước.:)

Ủa mà sao lại LOOKUP(2,1/(A2:A7=F2)/(B2:B7=G2),C2:C7)

Sao không LOOKUP theo thứ tự là (1,2/(B2:B7=G2)/(A2:A7=F2),C2:C7). Mình có thử cái công thức này trên excel, “thành thật chia buồn” kết quả là #N/A, biết là sai nhưng vẫn chưa hiểu lắm cái lý luận/logic đằng sau cho "sự ra đời" của công thức theo thứ tự đúng như dzậy. Nếu thấy không phiền lòng xin giải thích dùm mình. Mình cảm ơn :)

Thứ 4 – Sao cái cột unit price không có theo thứ tự tăng dần gì “hết chơn hết chọi” dzậy? Dzậy lỡ lookup không ra đúng kết wả thì sao nhuể? Lúc đó thì làm sao kiểm tra là biết có đúng hay không?

Thứ 5 – Unit price = INDEX(C2:C7,MATCH(F2&G2,A2:A7&B2:B7,0))

Hòi nào tới giờ mình toàn dùng index(bảng,match(),match()) để dò tìm bảng có hàng với cột không hà, chưa có kết hợp index(…,match()) để tìm cột không nên thấy không có wen. Sẽ từ từ làm wen, nếu có gì thì sẽ “níu tay níu chân” ai đó trên GPE nhờ giúp đỡ, hy dzọng lúc đó không ai chê câu hỏi ngu mà chẳng buồn "điếm xỉa":(

Chúc bạn một ngày mới “chàn chề” năng lượng & niềm dzui.:cool::D

Bye for now
p.s. Cám ơn bạn về cái file
 
Lần chỉnh sửa cuối:
Ủa mà sao lại LOOKUP(2,1/(A2:A7=F2)/(B2:B7=G2),C2:C7)

Sao không LOOKUP theo thứ tự là (1,2/(B2:B7=G2)/(A2:A7=F2),C2:C7). Mình có thử cái công thức này trên excel, “thành thật chia buồn” kết quả là #N/A, biết là sai nhưng vẫn chưa hiểu lắm cái lý luận/logic đằng sau cho "sự ra đời" của công thức theo thứ tự đúng như dzậy. Nếu thấy không phiền lòng xin giải thích dùm mình. Mình cảm ơn :)

Bạn xem Thầy @ndu96081631 giải thich ở đây.
Dò tìm nhiều điều kiện:

Cú pháp chung:
=LOOKUP( 2, 1/(Biểu thức điều kiện 1)/(Biểu thức điều kiện 2)/.... /(Biểu thức điều kiện n) , Mảng cần lấy kết quả)

.....1/(Biểu thức điều kiện 1)/(Biểu thức điều kiện 2)/.... /(Biểu thức điều kiện n): Được gọi là "Véc tơ" chỉ hướng
  1. Dựa vào biểu thức toán học: 1/n/m thì bằng 1/(n*m) (Vd: 1/2/8 = 1/ (2*8) = 1/ 16 = 0.0625 )
  2. Với các biểu thức điều kiện, để giản lược, ta có thể áp dụng toán tử "*" (nhân) thay cho hàm AND(), và toán tử "+" (cộng) thay cho hàm OR().
  3. Các biểu thức điều kiện này, theo từng phần của biểu thức thực hiện, sẽ trả kết quả từng mảng chứa các trị hoặc Đúng (TRUE hay 1) hoặc sai (FALSE hay 0), sau đó nó kết hợp lại như hàm AND(): 1/ (Mảng1 * Mảng2 *....* Mảngn). Ví dụ:
    • 1/ ( {1;1;0;0;1;1} * {1;0;0;0;1;0} ) => 1/ ({1;0;0;0;1;0}) => {1;#DIV/0!;#DIV/0!;#DIV/0!;1;#DIV/0!}
    • Do kết quả có hai giá trị 1 (xanh và đỏ), thì "Véc tơ" chỉ hướng sẽ báo cho LOOKUP chọn theo số 1 sau cùng (màu đỏ), Ví dụ như trên thì đếm theo số dòng nó ở là: 5, LOOKUP() sẽ lấy giá trị tương ứng với dòng 5 trong "Mảng cần lấy kết quả". Tức là khi có nhiều kết quả phù hợp với các điều kiện trong các biểu thức mang lại, "Véc tơ" chỉ hướng sẽ chọn kết quả phù hợp đứng thứ tự cuối cùng.
    • Để ý rằng các kết quả trả về trong "Véc tơ" chỉ hướng có thể chứa nhiều kiểu giá trị: số, chuỗi, luận lý (True-False), lỗi (#DIV/0!, #N/A....), tuy nhiên nó chỉ xét và tính trên các kết quả kiểu: số, chuỗi và luận lý, nó "phớt lờ" bỏ qua không tính các giá trị Lỗi. Đây là điểm mạnh của hàm LOOKUP(), nhờ điều này mà ta lọc ra được các giá trị phù hợp để truy xuất dữ liệu mà không cần phải dùng thêm bất kỳ hàm phụ trợ nào khác.
.....Tại sao là số 2?
  1. Do biểu thức "Véc tơ" chỉ hướng dạng: 1/n, ta biết: 1/n<=1 , nên kết quả có số lớn nhất là 1. Nên "giá trị tìm" cho LOOKUP() ta có thể đặt bất cứ số nào tùy ý, miễn sao >=1.
  2. Nói chung, tùy theo giá trị kết quả tại biểu thức "Véc tơ" chỉ hướng mà ta đặt số "giá trị tìm" cho phù hợp, tức đặt giá trị tìm lúc nào cũng lớn hơn hoặc bằng giá trị lớn nhất mà "Véc tơ" chỉ hướng trả về.
  • Lưu ý:
    1. So sánh với kiểu truy lục của VLOOKUP(trị dò, bảng dò, cột dò, kiểu dò):
      1. Với kiểu dò = 0 là dò chính xác,
      2. Với kiểu dò = 1 là dò không chính xác, và bắt buộc dữ liệu phải được sort trước.
    2. Vậy thì:
      1. LOOKUP(trị dò, bảng dò, bảng kết quả) sẽ tương đương với VLOOKUP mà kiểu dò =1 ---> như vậy cũng như VLOOKUP, bắt buộc dữ liệu phải sort trước.
      2. LOOKUP(2, 1/(....), ) sẽ tương đương với VLOOKUP mà kiểu dò =0 ---> Cũng như VLOOKUP, dữ liệu không cần sort.
 
Dò tìm nhiều điều kiện:

Cú pháp chung:

=LOOKUP( 2, 1/(Biểu thức điều kiện 1)/(Biểu thức điều kiện 2)/.... /(Biểu thức điều kiện n) , Mảng cần lấy kết quả)

Cám ơn bạn, cám ơn thầy ndu96081631.:)

Hôm wa, mới đọc sơ qua cái hướng dẫn thì “choáng toàn tập” lại “mất lửa” nên cụt hứng, không muốn xem nữa, bây giờ lại ngồi “rị mọ” thì thấy hơi hơi hiểu cách làm việc của Lookup

Vậy là mỗi khi dò tìm nhiều điều kiện thì mình sẽ ”lôi bí kíp” này ra mà áp dụng.

=LOOKUP( 2, 1/(Biểu thức điều kiện 1)/(Biểu thức điều kiện 2)/.... /(Biểu thức điều kiện n) , Mảng cần lấy kết quả)


o 1/ ( {1;1;0;0;1;1} * {1;0;0;0;1;0} ) => 1/ ({1;0;0;0;1;0}) => {1;#DIV/0!;#DIV/0!;#DIV/0!;1;#DIV/0!}

Mình nhìn kỹ công thức thì thấy có {}, trong trường hợp này mình thay thế {} =() thì công thức có đúng không vậy? Hay đây là công thức mảng, phải giữ nguyên như thế mới là đúng?

1/ ( {1;1;0;0;1;1} * {1;0;0;0;1;0} ) = 1/ ( (1;1;0;0;1;1) * (1;0;0;0;1;0) )???

( {1;1;0;0;1;1} * {1;0;0;0;1;0} ) → là 1 mảng đại diện cho Biểu thức điều kiện 1???


o Do kết quả có hai giá trị 1 (xanh và đỏ), thì "Véc tơ" chỉ hướng sẽ báo cho LOOKUP chọn theo số 1 sau cùng (màu đỏ), Ví dụ như trên thì đếm theo số dòng nó ở là: 5, LOOKUP() sẽ lấy giá trị tương ứng với dòng 5 trong "Mảng cần lấy kết quả". Tức là khi có nhiều kết quả phù hợp với các điều kiện trong các biểu thức mang lại, "Véc tơ" chỉ hướng sẽ chọn kết quả phù hợp đứng thứ tự cuối cùng.

Mình “nhìn wanh nhìn wất” chả thấy có màu xanh & đỏ đâu cả nhưng theo cách giải thích của bạn thì mình nghĩ là số 1 cuối cùng trong dãy số {1;#DIV/0!;#DIV/0!;#DIV/0!;1;#DIV/0!}.


.....Tại sao là số 2?

1. Do biểu thức "Véc tơ" chỉ hướng dạng: 1/n, ta biết: 1/n<=1 , nên kết quả có số lớn nhất là 1. Nên "giá trị tìm" cho LOOKUP() ta có thể đặt bất cứ số nào tùy ý, miễn sao >=1.

2. Nói chung, tùy theo giá trị kết quả tại biểu thức "Véc tơ" chỉ hướng mà ta đặt số "giá trị tìm" cho phù hợp, tức đặt giá trị tìm lúc nào cũng lớn hơn hoặc bằng giá trị lớn nhất mà "Véc tơ" chỉ hướng trả về.

Xin lỗi cho mình hỏi ngu 1 xíu, sau khi đọc 2 cái giải thích trên mình vẫn không “xâu chuỗi” lại được tại sao 2 cái lý luận này nó liên quan đến số 2 trong công thức của Lookup. Nếu thấy không phiền lòng, xin làm ơn giải thích dùm mình chỗ mình còn chưa thông. Cảm ơn bạn trước :)

→ Vậy là n có ít nhất 2 điều kiện
  • n>=1
  • n>= giá trị lớn nhất/max mà "Véc tơ" chỉ hướng trả về ??? (hiu hiu, cái dzụ này hỏng có hiểu!) → n>= giá trị lớn nhất/max của Mảng cần lấy kết quả???
  • ...
Nếu mình hiểu sai đâu đó thì xin làm ơn chỉnh lại dùm mình, mình cám ơn trước :)

  • Lưu ý:
1. So sánh với kiểu truy lục của VLOOKUP(trị dò, bảng dò, cột dò, kiểu dò):

1. Với kiểu dò = 0 là dò chính xác,

2. Với kiểu dò = 1 là dò không chính xác, và bắt buộc dữ liệu phải được sort trước.

2. Vậy thì:

1. LOOKUP(trị dò, bảng dò, bảng kết quả) sẽ tương đương với VLOOKUP mà kiểu dò =1 ---> như vậy cũng như VLOOKUP, bắt buộc dữ liệu phải sort trước.

2. LOOKUP(2, 1/(....), ) sẽ tương đương với VLOOKUP mà kiểu dò =0 ---> Cũng như VLOOKUP, dữ liệu không cần sort.

Mình đã phân biệt được với loại hàm Lookup nào thì dữ liệu cần tìm phải được sắp xếp theo thứ tự tăng dần “rùi”. Dzui wá “pà con” ơi!

Tuy bây giờ đã hiểu hiểu lý thuyết của Lookup nhưng phải đợi mình thực hành thì mình mới hơi hơi thành thạo, nếu sau này mình có hỏi ngu như dzậy nữa thì xin thứ lỗi cho mình bị là mình chưa có wen, từ lý thuyết đến thực hành đến "thành thục" đối với mình là cả một wá trình, xin đừng làm nhanh wá mà mình "lịu". Cảm ơn trước :)

Rất cám ơn bài viết này của bạn.:)

Mình chúc bạn một buổi chiều dzui dzẻ:)

p.s. bạn cũng là “phi miu” giống mình à? Mừng wá, lại gặp người wen nữa rồi.:D
 
Cám ơn bạn, cám ơn thầy ndu96081631.:)

Hôm wa, mới đọc sơ qua cái hướng dẫn thì “choáng toàn tập” lại “mất lửa” nên cụt hứng, không muốn xem nữa, bây giờ lại ngồi “rị mọ” thì thấy hơi hơi hiểu cách làm việc của Lookup

Vậy là mỗi khi dò tìm nhiều điều kiện thì mình sẽ ”lôi bí kíp” này ra mà áp dụng.

=LOOKUP( 2, 1/(Biểu thức điều kiện 1)/(Biểu thức điều kiện 2)/.... /(Biểu thức điều kiện n) , Mảng cần lấy kết quả)




Mình nhìn kỹ công thức thì thấy có {}, trong trường hợp này mình thay thế {} =() thì công thức có đúng không vậy? Hay đây là công thức mảng, phải giữ nguyên như thế mới là đúng?

1/ ( {1;1;0;0;1;1} * {1;0;0;0;1;0} ) = 1/ ( (1;1;0;0;1;1) * (1;0;0;0;1;0) )???

( {1;1;0;0;1;1} * {1;0;0;0;1;0} ) → là 1 mảng đại diện cho Biểu thức điều kiện 1???




Mình “nhìn wanh nhìn wất” chả thấy có màu xanh & đỏ đâu cả nhưng theo cách giải thích của bạn thì mình nghĩ là số 1 cuối cùng trong dãy số {1;#DIV/0!;#DIV/0!;#DIV/0!;1;#DIV/0!}.




Xin lỗi cho mình hỏi ngu 1 xíu, sau khi đọc 2 cái giải thích trên mình vẫn không “xâu chuỗi” lại được tại sao 2 cái lý luận này nó liên quan đến số 2 trong công thức của Lookup. Nếu thấy không phiền lòng, xin làm ơn giải thích dùm mình chỗ mình còn chưa thông. Cảm ơn bạn trước :)

→ Vậy là n có ít nhất 2 điều kiện
  • n>=1
  • n>= giá trị lớn nhất/max mà "Véc tơ" chỉ hướng trả về ??? (hiu hiu, cái dzụ này hỏng có hiểu!) → n>= giá trị lớn nhất/max của Mảng cần lấy kết quả???
  • ...
Nếu mình hiểu sai đâu đó thì xin làm ơn chỉnh lại dùm mình, mình cám ơn trước :)



Mình đã phân biệt được với loại hàm Lookup nào thì dữ liệu cần tìm phải được sắp xếp theo thứ tự tăng dần “rùi”. Dzui wá “pà con” ơi!

Tuy bây giờ đã hiểu hiểu lý thuyết của Lookup nhưng phải đợi mình thực hành thì mình mới hơi hơi thành thạo, nếu sau này mình có hỏi ngu như dzậy nữa thì xin thứ lỗi cho mình bị là mình chưa có wen, từ lý thuyết đến thực hành đến "thành thục" đối với mình là cả một wá trình, xin đừng làm nhanh wá mà mình "lịu". Cảm ơn trước :)

Rất cám ơn bài viết này của bạn.:)

Mình chúc bạn một buổi chiều dzui dzẻ:)

p.s. bạn cũng là “phi miu” giống mình à? Mừng wá, lại gặp người wen nữa rồi.:D
Tham khảo toàn bộ: Yêu cầu thắc mắc của @nguoi_ham_hoc, và các bài giải phía dưới, cùng lời giải thích giống bài của @huonglien1901 theo link:
http://www.giaiphapexcel.com/dienda...h-số-ngày-nhập-hàng-chân-thành-cám-ơn.123588/

Cứ xem tuần tự từ bài 1 trở xuống, cứ nghiệm rồi sẽ hiểu ứng dụng của Lookup(2,1/....)

Chúc bạn ngày vui.
 
Cám ơn bạn, cám ơn thầy ndu96081631.:)

Hôm wa, mới đọc sơ qua cái hướng dẫn thì “choáng toàn tập” lại “mất lửa” nên cụt hứng, không muốn xem nữa, bây giờ lại ngồi “rị mọ” thì thấy hơi hơi hiểu cách làm việc của Lookup

Vậy là mỗi khi dò tìm nhiều điều kiện thì mình sẽ ”lôi bí kíp” này ra mà áp dụng.
=LOOKUP( 2, 1/(Biểu thức điều kiện 1)/(Biểu thức điều kiện 2)/.... /(Biểu thức điều kiện n) , Mảng cần lấy kết quả)
Một ví dụ nóng hổi về LOOKUP vừa post:
http://www.giaiphapexcel.com/diendan/threads/dò-tìm-giá-trị-xác-Định-cuối-cùng.131057/
 
Thấy bạn chịu khó lầy mình cũng lầy theo. Một ứng dụng khác của LOOKUP:
Xem file nhé.

Chào bebo021999,
Sau “một thời zan” “đóng wân” ở “doanh chại” GPE & “hành wân” với “nằm dzùng” ở “chiến chường” Lookup (“hẻm” biết khi nào mới được “zải ngũ”(???), cứ “hành wân” kiểu này hoài chắc là “bỏ xác” ngoài “chiến chường” lúc nào hổng có hay) mình đã ngộ ngộ ra cách Lookup(2,1...) “pày wân pố chận”. Để mình giải thích hàm Lookup(2,1...) theo cách hiểu của mình nghen, nếu có gì sai, thì xin sửa dùm mình, không thôi lần sau “đạn lạc” mình “bỏ mạng” ở “chiến trường” trong lúc “tóc còn xanh”, tội nghiệp “con bé”. Cám ơn trước!:)
upload_2017-11-6_20-2-13.png
=LOOKUP(2,1/(A2:A7=D2)/(B2:B7=E2),C2:C7)

  • A2:A7=D2 → so sách từng cell trong vùng A2:A7 với D2 → Nếu cái nào BẰNG thì đương nhiên cho kết quả =TRUE (1), ngược lại là FALSE (0)
= {FALSE;FALSE;TRUE;TRUE;FALSE;FALSE} = {0;0;1;1;0;0}
  • B2:B7=E2 → so sách từng cell trong vùng B2:B7 với E2 → Nếu cái nào BẰNG thì đương nhiên cho kết quả =TRUE (1), ngược lại là FALSE (0)
={TRUE;FALSE;TRUE;FALSE;TRUE;FALSE} ={1;0;1;0;1;0}
→ (A2:A7=D2)/(B2:B7=E2) ={0;0;1;1;0;0}/{1;0;1;0;1;0}={0;#DIV/0!;1;#DIV/0!;0;#DIV/0!}
→1/(A2:A7=D2)/(B2:B7=E2)= 1/{0;#DIV/0!;1;#DIV/0!;0;#DIV/0!} ={#DIV/0!;#DIV/0!;1;#DIV/0!;#DIV/0!;#DIV/0!}

  • LOOKUP(2,1/(A2:A7=D2)/(B2:B7=E2),C2:C7) → tìm số 2 trong mảng kết quả trên (gồm có 1 hoặc là #DIV/0!).
Số lớn nhất là 1, mà lại đi tìm 2 thì chắc chắn không có. Tìm đến cuối vẫn không có thì nó nhảy lùi lại số có nghĩa gần nhất (số 1) & là vị trí có giá trị = D2 & E2
→ Tìm số 2 trong một mảng chỉ có số 1 & #DIV/0! thì đương nhiên nó sẽ lấy số 1 cuối cùng trong mảng, tra qua bên C2:C7 để lấy kết quả tương ứng
2 trong mảng đó sẽ không có kết quả chính xác là 2 do đó Lookup sẽ cho kết quả nhỏ nhất so với 2

  • Số 2 trong công thức trên có thể thay bằng bất cứ số nào, miễn sao >= 1
Bây giờ tuy đã biết cách Lookup(2,1...) vận hành nhưng để thành thạo Lookup chắc sẽ phải mất thời gian, vì là mình chưa có wen.
Mà hổng biết khi nào mình mới đạt được trình độ "from Zero to Hero" nhể. Zero thì là “bạn chí cốt” của mình từ nhỏ đến lớn còn Hero thì mình chưa có wen, còn là “người” "lạ wắc lạ wơ", chắc là lúc “vô hòm nằm” thì mới có cơ hội (hy dzọng hão huyền là vậy) kết bạn cho nó đỡ cô wạnh, buồn tủi lúc wa thế giới bên kia nhể. Mà chắc gì nó chịu kết bạn với mình???

Chúc bạn 1 buổi tối “chàn chề” niềm “dzui”.:D:D:D
Bye for now!


 

File đính kèm

  • Lookup-Unit Price.xls
    37 KB · Đọc: 5
Lần chỉnh sửa cuối:
Bây giờ tuy đã biết cách Lookup(2,1...) vận hành nhưng để thành thạo Lookup chắc sẽ phải mất thời gian, vì là mình chưa có wen.
Mà hổng biết khi nào mình mới đạt được trình độ "from Zero to Hero" nhể. Zero thì là “bạn chí cốt” của mình từ nhỏ đến lớn còn Hero thì mình chưa có wen, còn là “người” "lạ wắc lạ wơ", chắc là lúc “vô hòm nằm” thì mới có cơ hội (hy dzọng hão huyền là vậy) kết bạn cho nó đỡ cô wạnh, buồn tủi lúc wa thế giới bên kia nhể. Mà chắc gì nó chịu kết bạn với mình???
Có khiếu văn chương có khác, trình bày đâu ra đó.
Một câu hỏi cho bạn:
Biểu thức này: (A2:A7=D2)/(B2:B7=E2)
Tại sao lại chia mà không phải là nhân? (A2:A7=D2)*(B2:B7=E2)
 
Có khiếu văn chương có khác, trình bày đâu ra đó.

Một câu hỏi cho bạn:

Biểu thức này: (A2:A7=D2)/(B2:B7=E2)

Tại sao lại chia mà không phải là nhân? (A2:A7=D2)*(B2:B7=E2)


Good mórning bebo021999,
Ối zời ơi, đây là lần đầu tiên trong cuộc đời mình có người khen mình có khiếu văn chương, dzậy mà từ đó tới zờ toàn bị chê là văn chương "cụt ngủn", như "dzùi đục chấm mắn gừng" không hà. Chắc chiều nay phải ra Vietlott mua Jackpot mới được, hổng chừng ngày mai mình "chúng" thưởng thì "pái pai" "em nghèo" luôn để thành "đại gia" cho nó "oách" (trong "chường hợp" mình "chúng" "xơ xơ" "dzài" chục tỷ ấy) (just joking!):)
Vì là mình dốt Toán nên để mình trình bày câu hỏi bạn theo cách hiểu của mình nghen, nếu có gì sai thì xin làm ơn sửa dùm mình. Chân thành cảm ơn :)

Hỏi:

Biểu thức này: (A2:A7=D2)/(B2:B7=E2)
Tại sao lại chia mà không phải là nhân? (A2:A7=D2)*(B2:B7=E2)

Đáp:
  • m/n = m*(1/n)

Công thức chung chính là dựa vào biểu thức toán học: 1/n/m = 1/(n*m) (Vd: 1/2/8 = 1/(2*8) = 1/16 = 0.0625 )
Hay nói cách khác:
1/(A2:A7=D2)/(B2:B7=E2) = 1/((A2:A7=D2)*(B2:B7=E2))
→LOOKUP( 2, 1/(Biểu thức điều kiện 1)/(Biểu thức điều kiện 2)/.... /(Biểu thức điều kiện n) , Mảng cần lấy kết quả)
=LOOKUP( 2, 1/(Biểu thức điều kiện 1)*(Biểu thức điều kiện 2)*.... *(Biểu thức điều kiện n) , Mảng cần lấy kết quả)
Nếu mình hiểu "xai" đâu đó làm ơn "xửa" lại dùm mình dzới, mình cảm ơn nhiều.:)


Chúc bạn một ngày làm dziệc “chàn chề” năng lượng & niềm dzui.:D:cool::D

p.s. Cuối tuần “rùi” bebo021999 có dzui hông dzậy? Cuối tuần "rùi" mình lại "lui cui" với Lookup.:(
 
Lần chỉnh sửa cuối:
Nếu mình hiểu "xai" đâu đó làm ơn "xửa" lại dùm mình dzới, mình cảm ơn nhiều.:):(
Chưa nắm vấn đề!!!
Nếu nhân, trả về mảng 0 và 1.
Nếu chia, trả về mảng #DIV/0 và 1.

Mảng nào đáp ứng yêu cầu của LOOKUP là sắp dần tăng dần?
Mảng nhân chắc chắn không.
Mảng chia, hiểu là tăng dần (hoặc bình bình, không giảm cũng được)
 
Chưa nắm vấn đề!!!
Nếu nhân, trả về mảng 0 và 1.
Nếu chia, trả về mảng #DIV/0 và 1.

Mảng nào đáp ứng yêu cầu của LOOKUP là sắp dần tăng dần?
Mảng nhân chắc chắn không.
Mảng chia, LOOKUP hiểu là tăng dần, quăng cục lơ đến giá trị #DIV/0, coi như không có
 
Chưa nắm vấn đề!!!
Nếu nhân, trả về mảng 0 và 1.
Nếu chia, trả về mảng #DIV/0 và 1.

Hu hu, “sấu hổ” wá +-+-+-++-+-+-++-+-+-+
Ừa, giờ thì mình đã ngộ ra cái “trân lý”, đúng là hình như cái đầu của mình chỉ dùng để “đội mũ” hay sao ấy???+-+-+-++-+-+-++-+-+-+

  • Nếu nhân, trả về mảng 0 và 1.
  • Nếu chia, trả về mảng #DIV/0 và 1.

Thanks a great deal!

Mảng nào đáp ứng yêu cầu của LOOKUP là sắp dần tăng dần?
Mảng nhân chắc chắn không.
Mảng chia, hiểu là tăng dần quăng cục lơ đến giá trị #DIV/0, coi như không có
Cho mình hỏi ngu xíu xui+-+-+-+, đồng ý là nếu trong mảng chia chỉ có #DIV/0 và 1 mà nếu Lookup “ngó lơ” “zả bộ không wen biết” #DIV/0 thì trong mảng chỉ còn là số 1 thôi thì có thể hiểu đại loại là mảng được sort ascending. Nhưng Lookup(2,1…) thì dữ liệu đâu có cần sort ascending đâu, thì “wan tâm xăn xóc” đến cái dzụ này làm chi cho nó “mệt” thế???

Chúc bạn 1 buổi chiều “zực zỡ”


 

Hu hu, “sấu hổ” wá +-+-+-++-+-+-++-+-+-+
Ừa, giờ thì mình đã ngộ ra cái “trân lý”, đúng là hình như cái đầu của mình chỉ dùng để “đội mũ” hay sao ấy???+-+-+-++-+-+-++-+-+-+

  • Nếu nhân, trả về mảng 0 và 1.
  • Nếu chia, trả về mảng #DIV/0 và 1.

Thanks a great deal!


Cho mình hỏi ngu xíu xui+-+-+-+, đồng ý là nếu trong mảng chia chỉ có #DIV/0 và 1 mà nếu Lookup “ngó lơ” “zả bộ không wen biết” #DIV/0 thì trong mảng chỉ còn là số 1 thôi thì có thể hiểu đại loại là mảng được sort ascending. Nhưng Lookup(2,1…) thì dữ liệu đâu có cần sort ascending đâu, thì “wan tâm xăn xóc” đến cái dzụ này làm chi cho nó “mệt” thế???

Chúc bạn 1 buổi chiều “zực zỡ”

Nếu bạn ham học thì cứ nghiên cứu đi. không biết thì cứ hỏi đừng ngại. Bạn đã gặp được 2 cao thủ GPE hướng dẫn nhiệt tình rồi đấy nhé.
Đồng chí quocgiacan và bebo là 2 chuyên gia công thức đó.
 
hình như cái đầu của mình chỉ dùng để “đội mũ” hay sao ấy???+-+-+-++-+-+-++-+-+-+
.......Nhưng Lookup(2,1…) thì dữ liệu đâu có cần sort ascending đâu, thì “wan tâm xăn xóc” đến cái dzụ này làm chi cho nó “mệt” thế???
Nếu bạn là đại biểu QH thì còn thêm chức năng nữa của cái đầu: cử động lên xuống, gọi là "gật"

Trở lại công thức:
=LOOKUP(n, vùng tăng dần, vùng trả về)
Trong đó vùng tăng dần: {#DIV/0,#DIV/0,...1,#DIV/0,1,#DIV/0,...}
Có thể nhiều số 1 bên trong nếu có nhiều điều kiện thỏa, tuy nhiên LOOKUP sẽ tìm con số n từ phải sang (mảng ngang) hoặc từ dưới lên (mảng dọc) (Nếu dùng MATCH thì sẽ theo hướng ngược lại), tìm số đầu tiên nhỏ hơn n, trả về giá trị tương ứng bên vùng trả về . Do đó n có thể là 2,3 hay 100000000.

P/S: Cố gắng giữ gìn sự trong trắng của tiếng Việt nhé.
 
Web KT
Back
Top Bottom