Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 14

Chủ đề: Chuyển đổi dữ liệu từ dòng sang cột

  1. #1
    benjamin239 Guest

    Chuyển đổi dữ liệu từ dòng sang cột


  2. #2
    huyenbeo Guest
    cột I và J: copy cột A và B dán vào và dùng Remove Duolicates
    ô K3
    =IFERROR(OFFSET($C$1,INDEX(LARGE(($I3&$J3=INDEX($A $1:$A$3100&$B$1:$B$3100,0))*ROW($1:$3100),COLUMN(A :A)),0)-1,),"")
    copy cho L3 và N3
    ô N3
    =IFERROR(OFFSET($D$1,INDEX(LARGE(($I3&$J3=INDEX($A $1:$A$3100&$B$1:$B$3100,0))*ROW($1:$3100),COLUMN(A :A)),0)-1,),"")
    Copy cho O3 và P3
    copy cho các dòng còn lại

  3. #3
    duykhoakt2014 Guest
    Trích dẫn Gửi bởi huyendoan80
    Mình có 1 bảng dữ liệu, dữ liệu tương đối nhiều. Mình muốn chuyển dữ liệu của các dòng thành cột, có file đính kèm theo, nhờ các anh chị em giúp đỡ. Dùng lệnh copy-paste-transpose thì không thích hợp cho file dữ liệu này. Xin giúp đỡ. Cảm ơn nhiều.
    Tờ 24, thửa 22 (các dòng 2379:2382) đang trùng lặp đấy nhé bạn. Nếu dữ liệu chỗ này mà nhập đúng thì cần phải thêm cột LD4 và DT4 nữa mới đủ chứa kết quả.
    Bài này mà dùng hàm thì chắc ớn ăn lắm, ít nhất là tôi chịu thua. Thôi thì sẵn lâu ngày không dợt lại em "đít to" (Dictionary), nay luyện lại cho khỏi quên:
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shCore.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shAutoloader.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushAppleScript.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushAS3.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushBash.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushColdFusion.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushCpp.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushCSharp.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushCss.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushDelphi.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushDiff.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushErlang.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushGroovy.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushJava.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushJavaFx.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushJScript.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushPerl.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushPhp.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushPlain.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushPowerShell.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushPython.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushRuby.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushSass.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushScala.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushSql.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushVb.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushXml.js"></script>

    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shAutoloader.js"></script>

    <link type="text/css" rel="stylesheet" href="/forum/vctinh_xcode/styles/shCoreDefault.css">
    <link type="text/css" rel="Stylesheet" href="/forum/vctinh_xcode/styles/shThemeDefault.css">

    <pre class="brush: vb; toolbar: false;">Sub ChuyenDuLieu()
    Dim Dic As Object, i As Long, k As Long, n As Long, S As String, Tmp, Arr()

    On Error Resume Next
    n = Sheet1.[A65500].End(xlUp).Row - 2 'So dong du lieu
    [I3:P3].Resize(n).Clear 'Xoa vung chua ket qua
    Tmp = [A33].Resize(n)
    ReDim Arr(1 To n, 1 To 8)
    Set Dic = CreateObject("Scripting.Dictionary")
    For i = 1 To n
    S = Tmp(i, 1) & "_" & Tmp(i, 2)
    If Not Dic.Exists(S) Then
    k = k + 1
    Dic.Add S, 1 'Them Key (To_Thua)
    Else
    Dic.Item(S) = Dic.Item(S) + 1 'Them Item (LD, DT)
    End If
    Arr(k, 1) = Tmp(i, 1) 'To
    Arr(k, 2) = Tmp(i, 2) 'Thua
    Arr(k, Dic.Item(S) + 2) = Tmp(i, 3) 'LD
    Arr(k, Dic.Item(S) + 5) = Tmp(i, 4) 'DT
    Next
    Sheet1.[I3:P3].Resize(k) = Arr 'Gan du lieu len sheet
    End Sub</pre>

    <script type="text/javascript">
    function path()
    {
    var args = arguments,
    result = []
    ;

    for(var i = 0; i < args.length; i++)
    result.push(args[i].replace('@', '/forum/vctinh_xcode/scripts/'));
    return result;
    };

    SyntaxHighlighter.autoloader.apply(null, path(
    'applescript @shBrushAppleScript.js',
    'actionscript3 as3 @shBrushAS3.js',
    'ahk autohotkey @shBrushAhk.js',
    'asm x86 @shBrushAsm.js',
    'bash shell @shBrushBash.js',
    'coldfusion cf @shBrushColdFusion.js',
    'cpp c @shBrushCpp.js',
    'c# c-sharp csharp @shBrushCSharp.js',
    'css @shBrushCss.js',
    'delphi pascal @shBrushDelphi.js',
    'diff patch pas @shBrushDiff.js',
    'erl erlang @shBrushErlang.js',
    'groovy @shBrushGroovy.js',
    'java @shBrushJava.js',
    'jfx javafx @shBrushJavaFX.js',
    'js jscript javascript @shBrushJScript.js',
    'perl pl @shBrushPerl.js',
    'php @shBrushPhp.js',
    'text plain @shBrushPlain.js',
    'py python @shBrushPython.js',
    'ruby rails ror rb @shBrushRuby.js',
    'sass scss @shBrushSass.js',
    'scala @shBrushScala.js',
    'sql SQL @shBrushSql.js',
    'vb vbnet vba @shBrushVb.js',
    'xml xhtml xslt html @shBrushXml.js'
    ));
    SyntaxHighlighter.config.stripBrs = true;
    SyntaxHighlighter.all();
    </script>
    Nếu dữ liệu ở các dòng 2379:2382 bạn nhập sai và xóa bớt đi thì vùng chứa kết quả là đủ cột cần thiết, và bạn xóa dòng lệnh 4 ở trên đi (dòng lệnh On Error Resume Next)
    Trong file, bạn nhấn nút Chuyển dữ liệu để chạy code.
    Lưu ý: Code chỉ chạy đúng khi dữ liệu gốc đảm bảo rằng các lô đất cùng tờ, thửa được nhập liền nhau.

  4. #4
    hajdajgja Guest
    Trích dẫn Gửi bởi huyendoan80
    Mình có 1 bảng dữ liệu, dữ liệu tương đối nhiều. Mình muốn chuyển dữ liệu của các dòng thành cột, có file đính kèm theo, nhờ các anh chị em giúp đỡ. Dùng lệnh copy-paste-transpose thì không thích hợp cho file dữ liệu này. Xin giúp đỡ. Cảm ơn nhiều.
    Viết đại. Thấy code không được đẹp như bài trên, mà kết quả cũng không giống nữa cơ. (cái nào đúng thì bạn lấy cái đó xài, vì cũng không hiểu cho lắm).

  5. #5
    chimoiminhem Guest
    Trích dẫn Gửi bởi HieuCD
    cột I và J: copy cột A và B dán vào và dùng Remove Duolicates
    ô K3
    =IFERROR(OFFSET($C$1,INDEX(LARGE(($I3&$J3=INDEX($A $1:$A$3100&$B$1:$B$3100,0))*ROW($1:$3100),COLUMN(A :A)),0)-1,),"")
    copy cho L3 và N3
    ô N3
    =IFERROR(OFFSET($D$1,INDEX(LARGE(($I3&$J3=INDEX($A $1:$A$3100&$B$1:$B$3100,0))*ROW($1:$3100),COLUMN(A :A)),0)-1,),"")
    Copy cho O3 và P3
    copy cho các dòng còn lại
    Dữ liệu của bạn chưa đúng
    To 1 thua {3,4} thì LD1 là ODT, chứ không phải là CLN, BHK
    Mình sài thêm cột phụ để giải bài này!!!

  6. #6
    vuphuong2704 Guest
    Trích dẫn Gửi bởi HieuCD
    cột I và J: copy cột A và B dán vào và dùng Remove Duolicates
    ô K3
    =IFERROR(OFFSET($C$1,INDEX(LARGE(($I3&$J3=INDEX($A $1:$A$3100&$B$1:$B$3100,0))*ROW($1:$3100),COLUMN(A :A)),0)-1,),"")
    copy cho L3 và N3
    ô N3
    =IFERROR(OFFSET($D$1,INDEX(LARGE(($I3&$J3=INDEX($A $1:$A$3100&$B$1:$B$3100,0))*ROW($1:$3100),COLUMN(A :A)),0)-1,),"")
    Copy cho O3 và P3
    copy cho các dòng còn lại
    Copy công thức cho hết vùng kết quả là máy chạy đơ luôn, mà không rõ có vấn đề gì mà tôi thấy có một số chỗ sai kết quả, chẳng hạn tờ 1, thửa 11 chỉ có 2 lô tại dòng 17, 18 nhưng công thức lại cho ra 3 lô và diện tích cũng sai. Bạn kiểm tra lại công thức thử xem.

  7. #7
    Ngày tham gia
    Aug 2015
    Bài viết
    4
    Trích dẫn Gửi bởi giangleloi
    Viết đại. Thấy code không được đẹp như bài trên, mà kết quả cũng không giống nữa cơ. (cái nào đúng thì bạn lấy cái đó xài, vì cũng không hiểu cho lắm).
    Tôi hiểu đây là dữ liệu cấp giấy chứng nhận sử dụng đất, gồm các cột: Tờ, Thửa, Loại đất và Diện tích. Theo cách hiểu này thì kết quả của anh sai rồi, chẳng hạn tờ 1, thửa 11 có 2 lô: ODT, CLN với diện tích tương ứng là 250 và 428.2, còn trong kết quả của anh thì không phải vậy.

  8. #8
    truongweescape Guest
    Trích dẫn Gửi bởi nghiaphuc
    Tôi hiểu đây là dữ liệu cấp giấy chứng nhận sử dụng đất, gồm các cột: Tờ, Thửa, Loại đất và Diện tích. Theo cách hiểu này thì kết quả của anh sai rồi, chẳng hạn tờ 1, thửa 11 có 2 lô: ODT, CLN với diện tích tương ứng là 250 và 428.2, còn trong kết quả của anh thì không phải vậy.
    Đã sửa lại file nhưng không hiểu sao vẫn ít dòng kết quả hơn của anh nhỉ?

  9. #9
    tuan.it89 Guest
    Trích dẫn Gửi bởi giangleloi
    Đã sửa lại file nhưng không hiểu sao vẫn ít dòng kết quả hơn của anh nhỉ?
    Anh thử dùng công thức sau cho F3 và fill xuống: =A3&"_"&B3. Sau đó Paste Value và Remove Duplicate đi, sẽ thấy có 2304 kết quả. Như vậy kết quả của anh là bị thiếu rồi.

  10. #10
    bangkhuang Guest
    Trích dẫn Gửi bởi nghiaphuc
    Anh thử dùng công thức sau cho F3 và fill xuống: =A3&"_"&B3. Sau đó Paste Value và Remove Duplicate đi, sẽ thấy có 2304 kết quả. Như vậy kết quả của anh là bị thiếu rồi.
    À. Mình đã hiểu lý do tại sao thiếu rồi. Hehe. Nhưng làm biếng sửa. Code #3 chắc ok rồi. Cảm ơn nhiều.

Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •