hongphuong1997
Thành viên tiêu biểu

- Tham gia
- 12/11/17
- Bài viết
- 773
- Được thích
- 323
- Giới tính
- Nữ
Bạn thử tạiEm muốn chuyển dữ liệu từ cột sang hàng theo dạng tuần
Nhờ anh chị và các bác giúp đỡ ạ.
Em xin cảm ơn ạ.
Em cảm ơn ạ, nhưng vẫn chưa chuẩn anh oi!Bạn thử tại
I6=INDEX($E$1:$E$34,AGGREGATE(15,6,ROW($1:$50)/($C$1:$C$34=I$19),ROW($A1)))
Bạn xem file
=IF(SUMPRODUCT(--($H$4:$O4<>""))+COLUMNS($I:I)-7>MAX($A$1:$A$34),"",IF(ROW()=5,IF(MATCH(I$4,$C$1:$C$34,0)<=MATCH($O$4,$C$1:$C$7,0),INDEX($E$1:$E$34,SUMPRODUCT(--($H5:H5<>""))+1),""),INDEX($E$1:$E$34,SUMPRODUCT(--($H$4:$O4<>""))+COLUMNS($I:I)-7)))
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
thu = {"Thứ 2","Thứ 3","Thứ 4","Thứ 5","Thứ 6","Thứ 7","Chủ Nhật"},
SCol = Table.SelectColumns(Source,{"THU", "LOP"}),
KQ = Table.ReorderColumns(Table.Combine(Table.Group(SCol, "THU", {{"Count", each Table.PromoteHeaders(Table.Transpose(_))}},0,(x,y)=> Number.From(Text.Contains(y,"Thứ 2")))[Count]),thu)
in
KQ
Góp vui thêm tí tại I5:Em muốn chuyển dữ liệu từ cột sang hàng theo dạng tuần
Nhờ anh chị và các bác giúp đỡ ạ.
Em xin cảm ơn ạ.
=IFERROR(INDEX($E$1:$E$34,(COLUMNS($H$4:H$4)-MATCH($C$1,$I$4:$O$4,0)+7*ROWS($H$4:$H4)-7)^0.5^2+1),"")
=IFERROR(INDEX($E$1:$E$34,AGGREGATE(15,6,ROW($E$1:$E$34)/(I$4=$C$1:$C$34),IF(MATCH(I$4,$C$1:$C$34,0)>MATCH($O$4,$C$1:$C$34,0),ROW(A1)-1,ROW(A1)))),"")
Chuẩn rồi lại còn đòi chuẩn hơn, cô mình cũng khéo léo dzữ!Em cảm ơn tất cả các anh chị và các bác ạ, tất cả các công thức em thick nhất công thức của anh @Nhattanktnn, ngắn gọn nhất ạ.
Không biết còn ai nghĩ ra công thức nào chuẩn hơn không ạ?
Hihi....... núi này cao, nhưng vẫn còn núi cao chưa nhìn thấy cơ mà anh oi.Chuẩn rồi lại còn đòi chuẩn hơn, cô mình cũng khéo léo dzữ!
=chuanvodoi()
Siêu công thức hì. Tôi đọc chẳng hiểu gì luôn.Góp vui thêm tí tại I5:
Mã:=IFERROR(INDEX($E$1:$E$34,(COLUMNS($H$4:H$4)-MATCH($C$1,$I$4:$O$4,0)+7*ROWS($H$4:$H4)-7)^0.5^2+1),"")
Bạn thử công thức này nhé:Em cảm ơn tất cả các anh chị và các bác ạ, tất cả các công thức em thick nhất công thức của anh @Nhattanktnn, ngắn gọn nhất ạ.
Không biết còn ai nghĩ ra công thức nào chuẩn hơn không ạ?
=IFERROR(INDEX($E$1:$E$34,1/(1/(COLUMN(A:A)+ROW(1:1)*7-WEEKDAY($B$1,2)-6))),"")
Đây là câu nói tự diệt.Hihi....... núi này cao, nhưng vẫn còn núi cao chưa nhìn thấy cơ mà anh oi.
...
Huhu....... Bác oi, làm gì có ai nghĩ như bác đâu, mà công nhận cháu nói hơi sai, sai chút síu.Đây là câu nói tự diệt.
Chẳng lẽ tôi đưa lên một công thức để chứng tỏ rằng tôi cao tay hơn bạn kia à?
Em cảm ơn anh rất nhiều ạBạn thử công thức này nhé:
tại ô I5
Mã:=IFERROR(INDEX($E$1:$E$34,1/(1/(COLUMN(A:A)+ROW(1:1)*7-WEEKDAY($B$1,2)-6))),"")
Chắc ý của Bạn ấy là muốn tìm xem có còn công thức nào ngắn gọn hơn để học hỏi thôi, câu từ có thể chưa hay cho lắm, Bác thông cảm.Đây là câu nói tự diệt.
Chẳng lẽ tôi đưa lên một công thức để chứng tỏ rằng tôi cao tay hơn bạn kia à?
Thứ nhất:...
Mà cũng chính vì câu nói này của Bạn ấy nên Mình mới ngồi nghiên cứu công thức để giải thêm đấy chứ, không thì đã xem lướt qua thôi.
Cháu cảm ơn những lời dạy dỗ của bác ạ.@thớt:
Lần sau muốn hỏi công thức khác thì hỏi công thức khác.
Trong lúc nhờ vả, học hỏi từ người khác thì tránh so sánh cách chỉ dẫn hay người chỉ dẫn. Bạn có thể ngầm so sánh là quyền riêng của bạn, nhưng chớ nói ra.
Tôi mách cho bạn kỹ năng giao tế. Tự ái là quyền của bạn.
Thứ nhất:
Có người thích được thách thức. Cũng có người theo quan niệm "cỡ này không xứng đáng thách thức".
Công thức Excel cũng như hồi lớp 12 học các mẹo giải toán nguyên hàm vây. Càng quen càng làm dễ.
Thứ hai:
Thớt hỏi như vậy thì được bạn nhảy vào cho cái công thức khác. Nhưng cũng vì vậy mà lỡ đi cơ hội khác.
Bảng crosstab như vậy đáng lẽ phải hỏi "có cách nào khác"?
Chú thích: tôi biết bạn này trẻ tuổi, nông nổi, tôi có khuyên vài lần rồi.
Câu kia là tôi nhắc nhở chứ có gì đâu.
Bạn này đã từng cùng tôi đồng hành lên bảng phong thần "danh sách bè lũ 4 người".![]()
Tôi cũng có công thức nhưng chả dám đưa lên vì sợ rằng không "chuẩn" bằng. Mà có khi chả được gọi là đồi chứ mơ gì đến núi với lại núi caoThớt hả? Tớ cũng có một chiêu và nó lê thê, lết thết dzữ lắm nên chỉ để ngâm cứu một mình.
Kiểu dọa ma cho sợ thôi. Anh thử tính 3^0.5^2 xem là bao nhiêu, hoặc nhẩm trong đầu n^0.5^2 là bài toán thần thánh gìSiêu công thức hì. Tôi đọc chẳng hiểu gì luôn.![]()
Bác nhầm rùi bác oi, bài này đã chỉnh sửa lại công thức đó bác oi, vì vậy huhuhu........... Bác xem lại thời gian chỉnh sửa công thức giữa bài #7 và bài #9 thì biết ngay mừ. (Cháu đã Test công thức đó roài, thế ma]f anh @Nhattanktnn có con ruồi to đậu ở trán lại sửa công thức để dấu mọi người đó bác oi)Tôi cũng có công thức nhưng chả dám đưa lên vì sợ rằng không "chuẩn" bằng. Mà có khi chả được gọi là đồi chứ mơ gì đến núi với lại núi cao
Bài đã được tự động gộp:
Kiểu dọa ma cho sợ thôi. Anh thử tính 3^0.5^2 xem là bao nhiêu, hoặc nhẩm trong đầu n^0.5^2 là bài toán thần thánh gì
Tôi trích bài của Maika, bài Maika trích bài trước rõ ràng là ^0.5^2, và tôi trả lời Maika vào đúng chỗ ^0.5^2.Bác nhầm rùi bác oi,
Cách tính vị trí thì bạn biết rồi. Không cần giải thích.Siêu công thức hì. Tôi đọc chẳng hiểu gì luôn.![]()
Tôi tệ khoản công thức lắm, nhìn vào thấy cả đống chữ hà. Hồi xưa chỉ toàn làm mấy bảng lương, thưởng cỡ chục người trên Excel 2003 chẳng cần phải công thức cao siêu chi mất công. Gặp công thức dài quá, tôi kéo ra mấy cột phụ bên phải bảng, tha hồ tính. Nay thấy mấy bạn trình làng những công thức khủng, lại mới có từ các Excel sau này, tôi nể quá. Tuy nhiên với người được giúp công thức thì sao nhỉ, nhìn kết quả hiện tại thì thấy đúng đó nhưng lỡ mai kia có 1 dòng dữ liệu nào đó lạc điệu thì mệt chán luôn.Cách tính vị trí thì bạn biết rồi. Không cần giải thích.
Chỗ lũy thừa qua lại là mẹo bẫy kết quả âm (<0). Lũy thừa 0,5 của một số âm là error. Hàm IfError sẽ bắt lấy nó và đưa cho kết qủa "". Nếu không lỗi thì bình phương trở lại, ra kết quả cũ.
Bài kế tiếp (bài #13) dùng phép chia 2 lần là mẹo bẫy kết quả 0. Tương tự, 1 chia cho trị là đảo ngược số, thực hiện lần nữa thì trở về số cũ.
Cả hai mẹo trên chỉ nhằm mục đích tránh phải lặp lại con tính nếu dùng hàm IF. IF(con tính) < 0, "", (con tính)).
Phiên bản 365 có hàm LET giúp tránh được lặp lại con tính mà không phải qua mẹo gì cả.
Chú thích:
Đây rõ ràng là một yêu cầu có kết quả là mảng. Dùng các hàm chuyên mảng của 365 sẽ rất hiệu quả.
Em không hiểu Thầy nói dọa ma ý là sao. Nhưng cái ^0.5^2 không phải em đưa vào để làm màu, đó là em đang tìm cách xử lý cho trường hợp số 0. Nếu = 0 thì index(mảng,0) vẫn trả về kết quả nên em đang tìm cách bẫy cho nó trở thành giá trị lỗi. Em lấy số trừ đi 1. Khi đó giá trị 0 sẽ thành -1, căn bậc hai xong bình phương sẽ bị lỗi. Sau đó cộng 1. Thì giá trị 0 sẽ bị lỗi, chỉ còn giá trị từ 1 trở về sauKiểu dọa ma cho sợ thôi. Anh thử tính 3^0.5^2 xem là bao nhiêu, hoặc nhẩm trong đầu n^0.5^2 là bài toán thần thánh gì
Tôi không nói về công thức của bạn, tôi chọc ghẹo anh Maika thôi. Xin lỗi nếu gây hiểu nhầm.Em không hiểu Thầy nói dọa ma ý là sao. Nhưng cái ^0.5^2 không phải em đưa vào để làm màu, đó là em đang tìm cách xử lý cho trường hợp số 0. Nếu = 0 thì index(mảng,0) vẫn trả về kết quả nên em đang tìm cách bẫy cho nó trở thành giá trị lỗi. Em lấy số trừ đi 1. Khi đó giá trị 0 sẽ thành -1, căn bậc hai xong bình phương sẽ bị lỗi. Sau đó cộng 1. Thì giá trị 0 sẽ bị lỗi, chỉ còn giá trị từ 1 trở về sau
Dạ Thầy, em cũng thanh minh một chút để mọi người hiểu là em có ý đồ trong đó, chứ không phải làm màu phô trương gì đâu ạ! Chúc Thầy một ngày mới tốt lànhTôi không nói về công thức của bạn, tôi chọc ghẹo anh Maika thôi. Xin lỗi nếu gây hiểu nhầm.
Hồi đầu tôi cũng nghĩ như vậy.... Tuy nhiên với người được giúp công thức thì sao nhỉ, nhìn kết quả hiện tại thì thấy đúng đó nhưng lỡ mai kia có 1 dòng dữ liệu nào đó lạc điệu thì mệt chán luôn.