Chuyển cột sang hàng theo tuần (1 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

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ữ
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 ạ.
 

File đính kèm

File đính kèm

Hơi dài chút, nhưng chịu khó vậy
I5:
Mã:
=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)))
 

File đính kèm

Cũng hơi dài nhưng góp vui.
Mã:
I6=IF(MATCH(Q$4,$C$1:$C$34,0)<=MATCH(Q$4,$Q$4:$W$4,0)+(ROW(A1)-1)*7,OFFSET($E$1,(ROW(A1)-1)*7+COLUMN(A1)-MATCH(Q$4,Q$4:W$4,0)-MATCH($Q$4,$C$1:$C$34,0),0),"")
 
Thêm cách dùng Power Query
Mã:
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
1685504543256.png
 
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 ạ.
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),"")
 
Lần chỉnh sửa cuối:
Xin góp thêm công thức cơ bản :
Mã:
=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)))),"")
 
Lần chỉnh sửa cuối:
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 ạ?
 
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 ạ?
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))),"")
 

File đính kè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 à?
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.
Bài đã được tự động gộp:

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))),"")
Em cảm ơn anh rất nhiều ạ
Công thức rất chuẩn, ngắn gọn và rất dễ hiểu ạ.
Đúng là mỗi người có một chiêu khác nhau anh @THÓC SAMA oi, hi hihi......
 
Lần chỉnh sửa cuối:
Đâ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 à?
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.
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.
 
@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.

...
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.
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". :p:p:p
 
Lần chỉnh sửa cuối:
@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". :p:p:p
Cháu cảm ơn những lời dạy dỗ của bác ạ.
 
Nôm na là:
“Lời nói chẳng mất tiền mua
Lựa lời mà nói cho vừa lòng nhau”
Thớ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.
 
Thớ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.
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:

Siêu công thức hì. Tôi đọc chẳng hiểu gì luôn. :)
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ì
 
Lần chỉnh sửa cuố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 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ì
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)
 
Siêu công thức hì. Tôi đọc chẳng hiểu gì 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ả.
 
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ả.
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.
 
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ì
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
 
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
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.
 
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.
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ành
 
... 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.
Hồi đầu tôi cũng nghĩ như vậy.
Nhưng sau này mới thấy mấy cái file dữ liệu đó chỉ là dùng nhất thời - thiết kế như hạch lấy gì làm lâu dài.
Họ chỉ cốt qua được cơn chữa cháy thôi. Nếu về sau này sự cố xảy ra trước khi file hết dùng hoặc chuyển qua công việc khác thì lại lên GPE hỏi tiếp.
 

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

Back
Top Bottom