Chuyên mục GIẢI THÍCH CÔNG THỨC

  • Thread starter Thread starter BNTT
  • Ngày gửi Ngày gửi
Liên hệ QC
Dấu "-" dùng để chuyển mid(B5,4,1) về dạng số như trong bảng dò.

dùng dấu trừ "- " đó để chuyển về dạng số nếu có 2 dấu trừ "-" thì chuyển thành số dương
nếu không bạn nhân 1, hoặc +0 hoặc dùng hàm value
mid(B5,4,1)*1, mid(B5,4,1)+0, VALUE(mid(B5,4,1)) để chuyển chuối số sang sô
 
mình có bài tập excel và mình đã giải nhưng mà chưa hiểu sai ở chỗ nào? Mong các anh em chỉ giúp. Mình xin cảm ơn nhiều!
vấn đề là đây
=INDEX($A$19:$C$22,MATCH(LEFT(B5,1),$A$19:$A$22,0), MATCH("* "&RIGHT(B5,1 ),$A$19:$C$19,0))
 
vấn đề là đây
=INDEX($A$19:$C$22,MATCH(LEFT(B5,1),$A$19:$A$22,0), MATCH("* "&RIGHT(B5,1 ),$A$19:$C$19,0))

Vậy theo Phi, công thức của tác giả sai chỗ nào mà phải sửa lại như thế? Vì tác giả đã làm nhưng không hiểu sai chỗ nào.
(Khoan nói tới chuyện công thức của tác giả dài dòng)

Công thức tác giả:

=INDEX(A19:$C$22;MATCH(LEFT(B5;1);$A$19:$C$22;0);MATCH(VLOOKUP(RIGHT(B5;2);$E$13:$F$15;2;0);$A$19:$C$22;0))
 
Vậy theo Phi, công thức của tác giả sai chỗ nào mà phải sửa lại như thế? Vì tác giả đã làm nhưng không hiểu sai chỗ nào.
(Khoan nói tới chuyện công thức của tác giả dài dòng)

Công thức tác giả:

=INDEX(A19:$C$22;MATCH(LEFT(B5;1);$A$19:$C$22;0);MATCH(VLOOKUP(RIGHT(B5;2);$E$13:$F$15;2;0);$A$19:$C$22;0))

Thưa thầy bài này nhiều chổ lắm
đầu tiên
sai ở chổ trong bảng dò cố định chưa đủ(nếu muốn coppy công thức cho các ô khác)

Thứ 2 các đối sô hàm MATCH bị sai
MATCH (Trị dò, cột dò(dòng dò), cách dò)
trong bài của bạn là bảng dò $A$19:$C$22
Thứ 3 là nếu trong hàm index đã chọn bảng dò từ A19:$C$22 thì hàm kết quả của hàm MATCH cuối cùng phải + 1 để cho đúng vị trí bảng dò

=INDEX($A$19:$C$22 , MATCH( LEFT(B9,1) , $A$19:$A$22 , 0 ) , MATCH( "*"&RIGHT(B9,1) , $A$19:$C$19 , 0 ))
 
Lần chỉnh sửa cuối:
=INDEX(A19:$C$22;MATCH(LEFT(B5;1);$A$19:$C$22;0);M ATCH(VLOOKUP(RIGHT(B5;2);$E$13:$F$15;2;0);$A$19:$C $22;0))

Có 2 cái sai thôi:

1. MATCH(LEFT(B5;1);$A$19:$C$22;0): Match nhưng dò tìm trong vùng nhiều dòng nhiều cột: Chỉ có thể dò tìm trong 1 cột hoặc 1 dòng
Tương tự là MATCH(VLOOKUP(...);$A$19:$C $22;0)

2. INDEX(A19:$C$22, ...: Không cố định A19

Do đó, chỉ cần sửa 2 lỗi này:

=INDEX($A$19:$C$22;MATCH(LEFT(B5;1);$A$19:$A$22;0);MATCH(VLOOKUP(RIGHT(B5;2);$E$13:$F$15;2;0);$A$19:$C$19;0))

Ý tôi muốn nói khi hỏi bài trên, và trả lời bài này, là khi trả lời câu hỏi:

- phải biết người ta hỏi cái gì (Phi không trả lời đúng câu hỏi)
- nếu sai, thì sai chỗ nào (chưa giải thích rõ ràng)
- nếu sửa thì sửa đúng chỗ sai đó thế nào (không sửa)
- sửa xong theo ý họ, rồi mới góp ý cách khác và cách của mình đưa ra phải tốt hơn.

Còn nhận định về lỗi thứ 3 (phải cộng 1): Nhận định sai: nếu cộng 1 là sai liền!

Nên nhớ rằng tiêu đề topic này là: "Chuyên mục giải thích công thức"
 
Lần chỉnh sửa cuối:
=INDEX(A19:$C$22;MATCH(LEFT(B5;1);$A$19:$C$22;0);M ATCH(VLOOKUP(RIGHT(B5;2);$E$13:$F$15;2;0);$A$19:$C $22;0))

Có 2 cái sai thôi:

1. MATCH(LEFT(B5;1);$A$19:$C$22;0): Match nhưng dò tìm trong vùng nhiều dòng nhiều cột: Chỉ có thể dò tìm trong 1 cột hoặc 1 dòng
Tương tự là MATCH(VLOOKUP(...);$A$19:$C $22;0)

2. INDEX(A19:$C$22, ...: Không cố định A19

Do đó, chỉ cần sửa 2 lỗi này:

=INDEX($A$19:$C$22;MATCH(LEFT(B5;1);$A$19:$A$22;0);MATCH(VLOOKUP(RIGHT(B5;2);$E$13:$F$15;2;0);$A$19:$C$19;0))

Ý tôi muốn nói khi hỏi bài trên, và trả lời bài này, là khi trả lời câu hỏi:

- phải biết người ta hỏi cái gì (Phi không trả lời đúng câu hỏi)
- nếu sai, thì sai chỗ nào (chưa giải thích rõ ràng)
- nếu sửa thì sửa đúng chỗ sai đó thế nào (không sửa)
- sửa xong theo ý họ, rồi mới góp ý cách khác và cách của mình đưa ra phải tốt hơn.

Còn nhận định về lỗi thứ 3 (phải cộng 1): Nhận định sai: nếu cộng 1 là sai liền!

dạ cảm ơn thầy, lần sau trả lời con sẻ trả lời kỹ hơn về câu hỏi.
 
Gửi bạn TranThanhPhong!
Tôi gửi kèm theo file "thuc hanh Offset" (ở sheet 1) nhờ bạn xem giúp xem tôi sai sót ở chỗ nào.
Giả sử: tôi có danh sách OS (như ở sheet 2) thì chắc không cần phải dùng đến công thức lọc => không dùng bước thứ 3, phải không bạn?
Cảm ơn bạn!
 

File đính kèm

Gửi bạn TranThanhPhong!
Tôi gửi kèm theo file "thuc hanh Offset" (ở sheet 1) nhờ bạn xem giúp xem tôi sai sót ở chỗ nào.
Giả sử: tôi có danh sách OS (như ở sheet 2) thì chắc không cần phải dùng đến công thức lọc => không dùng bước thứ 3, phải không bạn?
Cảm ơn bạn!
Dữ liệu như sheet2 sẽ không làm được đâu bạn à (dù có làm được thì cũng rất phức tạp)
Tôi sửa lại các công thức tại sheet1 cho bạn đây
1> Đặt name:
PHP:
OS =OFFSET(Sheet1!$A$2,,,MATCH(REPT("z",255),Sheet1!$A$2:$A$1000),)
PHP:
Ver =OFFSET(OS,,1)
PHP:
Pos =IF(OS="","",IF(MATCH(OS,OS,0)=ROW(INDIRECT("1:"&ROWS(OS))),MATCH(OS,OS,0),""))
2> Công thức lấy list duy nhất cho OS (công thức tại D2)
PHP:
=IF(ROWS($1:1)>COUNT(Pos),"",INDEX(OS,SMALL(Pos,ROWS($1:1))))
Kéo fill xuống
3> Công thức cho Validation List tại G3:G12
PHP:
=OFFSET($D$2,,,COUNT(Pos),)
4> Công thức cho Validation List tại H3:H12
PHP:
=OFFSET(Ver,MATCH($G3,OS,0)-1,,COUNTIF(OS,$G3),)
Xem file
 

File đính kèm

Xin giúp bài Excel lần đầu gặp này với

1. Hãy lập công thức tính để cột Ghi Chú sẽ được tự đônghj ghi dấu * đối với các học sinh có ĐTB cao nhất. còn các học sinh khác ghi dau -
2. thêm cột sinh chủ nhật để ghi những người sinh vào chủ nhật. biết rằng ngày 31/12/1996 là ngày thứ ba. Sử dụng hàm thích hợp để tự động viết vào cột này chữ CN đối với những người sinh đúng vào chủ nhật.

Thanks cả nhà giúp em với.
 
1. Tại cột ghi chú :
Ví dụ Vùng A1:A5 chứa ĐTB nhập công thức sau : =If(Max($A$1:$A$5)=A1;"*";"-")
2. =if(weeknum(ngày sinh)=1;"CN";"")
Nếu chưa hiểu thì xem file đính kèm bạn nhé! he he!
 

File đính kèm

Lần chỉnh sửa cuối:
Cũng với ví dụ trên, nếu tôi dùng Data/Filter/Auto Filter và ở OS chọn "Windows" thì ở "Versions" sẽ có luôn 1 list các Versions (xem hình kèm theo)

Vậy, về bản chất và cách dùng thì giữa Offset và Filter có gì giống và khác nhau ạ?
 

File đính kèm

  • O1.JPG
    O1.JPG
    143.5 KB · Đọc: 11
  • O2.JPG
    O2.JPG
    163.3 KB · Đọc: 12
Em không rành về hàm nên nhờ anh chị giúp đỡ em chỉnh sửa hàm sau

Vấn đề là thế này. Em muốn giúp mẹ in ra các toa hàng để thu tiền khách hàng nhưng thường làm thủ công. mỗi lần làm là gõ lại tên hàng hóa rất mệt. Vì số lượng hàng rất nhiều và khách hàng cũng rất nhiều nên em có làm file sau:
- Em muốn tại Sheet Toa hàng khi em muốn làm toa cho Khách hàng A chẳng hạn em chỉ cần gõ mã hàng đã quy định bên Sheet Mã hàng (Mã hàng em quy định bằng số để đơn giản). để lấy được tên hàng cho nhanh. Tuy nhiên làm theo cách của em thì chỉ gọi được hàm bên Sheet mã hàng một lần và phải đúng dòng nếu khác dòng thì nó không hiểu.
- Em không biết nhiều về excel nên mong anh chị hiểu biết nhiều giúp em tạo lại hàm sao cho khi bên Sheet Toa hàng em gọi mã hàng ở bất kì dòng nào của Sheet Mã hàng thì nó đièu hiểu và lấy được dữ liệu.

Cám ơn sự giúp đỡ của anh chị rất nhiều.
 

File đính kèm

Chào Solid,
Bạn có thể dùng hàm Vlookup() hoặc dùng chọn list danh sách tên hàng để tạo toa hàng
Cụ thể bạn xem trong file đính kèm nhé
 

File đính kèm

Tôi đã làm giúp bạn, nhiều công thức hơn, bạn xem file đính kèm.
 

File đính kèm

Cám ơn minhthien321 rất nhiều. Phần bạn làm khá chi tiết, riêng phần đơn giá hàng hóa của mẹ mình thay đổi giá liên tục việc quy định giá đó mình sẽ chỉnh sửa theo từng ngày.
 
Cám ơn minhthien321 rất nhiều. Phần bạn làm khá chi tiết, riêng phần đơn giá hàng hóa của mẹ mình thay đổi giá liên tục việc quy định giá đó mình sẽ chỉnh sửa theo từng ngày.

Đơn giá do bạn quy định, cái này tự bạn cập nhật thôi, còn cái tôi đưa ra (trong bảng bên kia) chỉ là giá tham khảo, bạn nên chỉnh sửa đơn giá trong sheet Mã hàng, tại cột Đơn giá. Không nên sửa Đơn giá trong sheet Toa hàng vì nó chứa công thức.

Thân.
 
Lần chỉnh sửa cuối:
Các bác ơi cho em hỏi xíu ! em mới vào diễn đàn nên cũng không biết post bài vào đâu cả.Em thấy các bác tạo hàm mới bằng cách viết code trong VBA, cho em hỏi là em muốn xem code của các hàm có sẵn của excel thì làm thế nào ạ. em muốn xem rồi thử sửa lại một số hàm theo ý của mình mà. Mong các bác hồi âm sớm. Cho em cảm ơn trước
 
Các bác ơi cho em hỏi xíu ! em mới vào diễn đàn nên cũng không biết post bài vào đâu cả.Em thấy các bác tạo hàm mới bằng cách viết code trong VBA, cho em hỏi là em muốn xem code của các hàm có sẵn của excel thì làm thế nào ạ. em muốn xem rồi thử sửa lại một số hàm theo ý của mình mà. Mong các bác hồi âm sớm. Cho em cảm ơn trước
Ái chà, biết viết code nên mới muốn sửa code, mà hổng biết code nó nằm ở đâu thì làm sao viết, sửa.
Bạn đã viết bao giờ chưa? Ấn thử Alt - F11 thử xem.
----------
Nếu muốn tiếp tục, bạn vào chuyên mục lập trình với excel hay những chuyên mục liên quan tới lập trình.
Đây là chuyên mục giải thích công thức... lộn box rồi.
 
Bạn mở file dữ liệu. nhấn Alt+F11 thì sẽ thấy code
 
Anh có cách nào chỉ cho em biết cách để chuyển từ ngày 01/10/2011 thành ngày 01 tháng 10 năm 2011 trong EXCEL không? Xin anh chỉ giáo.Đa tạ
 
Web KT

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

Back
Top Bottom