Chuyển cột sang hàng theo tuần

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Em xin cảm ơ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 ạ.

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

www.giaiphapexcel.com/diendan/threads/chuy%E1%BB%83n-c%E1%BB%99t-sang-h%C3%A0ng-theo-tu%E1%BA%A7n.165487/

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 5 ▥ 0
Quảng cáo

Bạn nên đọc

5 Responses

  1. hands says:

    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

    Em cảm ơn ạ, nhưng vẫn chưa chuẩn anh oi!

    Hơi dài chút, nhưng chịu khó vậy
    I5:

    =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)))
  2. hands says:

    Hơi dài chút, nhưng chịu khó vậy
    I5:

    =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)))

    Cũng hơi dài nhưng góp vui.

    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

    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

    6847

  3. hands says:

    Thêm cách dùng Power Query

    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

    6847

    Góp vui thêm tí tại I5:

    =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),"")

    Xin góp thêm công thức cơ bản :

    =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)))),"")
  4. hands says:

    Bạn thử công thức này nhé:
    tại ô I5

    =IFERROR(INDEX($E$1:$E$34,1/(1/(COLUMN(A:A)+ROW(1:1)*7-WEEKDAY($B$1,2)-6))),"")

    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….

    Đâ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.

  5. hands says:

    Bạn thử công thức này nhé:
    tại ô I5

    =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.
    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

    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

    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ì
    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.

    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

Leave a Reply

Your email address will not be published. Required fields are marked *

Quảng cáo

Cũ vẫn chất

Xem thêm