Tại sao chuyển vị không hoạt động trong Google Trang tính?

Có lẽ bạn có một bộ dữ liệu đã được trình bày trên các cột. Khi bạn thêm các cột dữ liệu mới, bản trình bày có thể trở nên quá rộng

Chuyển đổi dữ liệu của bạn có thể giúp sắp xếp lại dữ liệu thành một bố cục dễ quản lý hơn bằng cách chuyển các cột thành các hàng

Tại sao chuyển vị không hoạt động trong Google Trang tính?

Chuyển dữ liệu dạng bảng có nghĩa là thay đổi vị trí của các hàng và cột bằng cách lật phạm vi về trục chéo của nó. Hàng trở thành cột và cột trở thành hàng

Ở trên, bạn có thể xem một ví dụ về chuyển vị của một dải dữ liệu

Có ba phương pháp phổ biến để xử lý thao tác này bên trong Google Trang tính

  1. Phương pháp Dán Đặc biệt – Trong phương pháp này, phạm vi được sao chép và dán thông qua lệnh Dán Đặc biệt
  2. Hàm TRANSPOSE – Hàm này lấy một mảng làm đối số và trả về giá trị chuyển vị làm đầu ra
  3. Phương pháp Apps Script – Trong phương pháp này, bạn sử dụng Google Apps Script để phát triển mã có thể tự động hoán vị mảng dạng bảng

Bây giờ hãy thảo luận chi tiết về từng phương pháp trong số ba phương pháp này

Chuyển đổi dữ liệu với Paste Special

Cách đầu tiên và đơn giản nhất để chuyển đổi dữ liệu trong Google Trang tính là sử dụng phương pháp Dán đặc biệt

Chọn toàn bộ phạm vi bạn muốn chuyển đổi và nhấn Ctrl + C trên bàn phím để sao chép phạm vi. Trong ví dụ này, phạm vi là A1. D14

  1. Chọn ô đích (F1 trong trường hợp này)
  2. Chuyển đến menu Chỉnh sửa
  3. Nhấp vào tùy chọn Dán đặc biệt
  4. Nhấp vào tùy chọn Đã chuyển đổi để dán dữ liệu đã sao chép đã chuyển đổi

Bạn sẽ thấy rằng dữ liệu hiện được chuyển đổi trong ô F1 và các ô tiếp theo. Các Tháng hiện được xếp thành các hàng và các năm Bán hàng được xếp thành các cột

📝 Ghi chú

  • Một điều quan trọng cần chú ý ở đây là tùy chọn Paste Special không chỉ chuyển đổi dữ liệu mà còn áp dụng định dạng của bảng gốc cho chế độ xem được chuyển đổi. Ngay cả các ô đã hợp nhất cũng được giữ nguyên. Bạn không cần định dạng đầu ra
  • Phương thức Paste Special sẽ tạo một tập hợp giá trị mới mà bạn có thể chỉnh sửa độc lập với dữ liệu gốc
  • Nếu bạn sử dụng phương pháp Dán đặc biệt, có thể ghi đè dữ liệu trong trang tính của bạn. Đảm bảo có đủ dung lượng trống để dán vào

Chuyển đổi dữ liệu với chức năng TRANSPOSE

Một cách khác để chuyển đổi dữ liệu dạng bảng là sử dụng hàm TRANSPOSE. Nó là một hàm mảng hoạt động theo cách mỗi hàng được chuyển đổi thành một cột và ngược lại

Cú pháp hàm TRANSPOSE

TRANSPOSE ( array_or_range )
  • array_or_range – là đối số bắt buộc để hàm thay đổi vị trí của hàng và cột

Ví dụ với Hàm TRANSPOSE

= TRANSPOSE ( A1:D14 )

Để chuyển đổi dữ liệu có trong ô A1. D14, chọn ô F1 và chèn công thức trên

Bạn sẽ thấy đầu ra được chuyển đổi kéo dài trên các ô bắt đầu từ F1

📝 Lưu ý

Sự thật thú vị về hàm TRANSPOSE là nó không sao chép định dạng của bảng gốc, không giống như tùy chọn Paste Special

Mẹo cho chức năng TRANSPOSE

💡 mẹo

  • Khi bạn đang sử dụng chức năng TRANSPOSE, đầu ra sẽ là động. Có nghĩa là nếu bạn thay đổi dữ liệu trong phạm vi ban đầu, kết quả sẽ tự động cập nhật
  • Khi bạn đang sử dụng hàm TRANSPOSE, bạn không thể xóa bất kỳ hàng nào khỏi đầu ra khi hàm điền kết quả mảng. Nếu cần, bạn nên xóa công thức ở ô trên cùng bên trái, nó sẽ tự động xóa toàn bộ kết quả đã chuyển đổi
  • nếu bạn ghi đè lên ô trên cùng bên trái chứa công thức, nó sẽ khiến toàn bộ đầu ra của mảng biến mất

Chuyển đổi dữ liệu bằng tập lệnh ứng dụng

Hai phương pháp đầu tiên mà chúng ta đã thảo luận khá đơn giản và chúng rất dễ áp ​​dụng để chuyển đổi dữ liệu của bạn

Tuy nhiên, có một cách khác để tự động hóa quá trình chuyển đổi bằng cách viết macro Apps Scripts. Bạn có thể sao chép mã bên dưới và dán vào giao diện Apps Script của mình để chuyển đổi dữ liệu

Nếu bạn chưa quen với Google Apps Scripts, hãy xem hướng dẫn dành cho người mới bắt đầu về Apps Scripts

function transpose() {
  
  //Defining the spreadsheet variables and setting ranges
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet()
  var range = sheet.getRange(1, 1, sheet.getLastRow(), sheet.getLastColumn()).getValues();

  //Defining a blank array that can hold the result
  trans = [];
  //transpose the data stored in range variable
  for(var column = 0; column < range[0].length; column++){
    trans[column] = [];
    for(var row = 0; row < range.length; row++){
      trans[column][row] = range[row][column];
    }
  }
  //printing values stored into trans variable on spreadsheet range
  sheet.getRange(1, 6, trans.length, trans[0].length).setValues(trans);

}

Giải trình

  • Trước tiên bạn phải đặt tên cho chức năng. Bạn có thể đặt bất kỳ tên nào bạn chọn, nhưng cách tốt nhất là sử dụng các tên liên quan đến nhiệm vụ của bạn, chẳng hạn như chuyển vị
  • Trong phần đầu tiên, bạn xác định các biến và phạm vi bảng tính bằng cách sử dụng mệnh đề SpreadsheetApp() trên các phương thức getActiveSheets()getRange() tương ứng. các phương pháp getLastRow()getLastColumn() được sử dụng để lấy phạm vi hàng và cột động. Phương thức getValues() trả về các giá trị từ phạm vi đã chọn
  • Sau đó, bạn xác định một mảng trống có tên là
    = TRANSPOSE ( A1:D14 )
    0 có thể chứa kết quả đã chuyển đổi bên trong
  • Vòng lặp
    = TRANSPOSE ( A1:D14 )
    1 đầu tiên bắt đầu chạy từ cột 1 của dải ô đã chọn cho đến cột cuối cùng của dải ô. Số gia của cột được đặt theo 1 đơn vị và sau đó kết quả được tạo sẽ được lưu trữ trong một tập hợp con có tên là
    = TRANSPOSE ( A1:D14 )
    2 từ mảng
    = TRANSPOSE ( A1:D14 )
    0. Vòng lặp for này sẽ lấy các cột từ phạm vi và lưu trữ chúng dưới dạng các cột trong mảng
    = TRANSPOSE ( A1:D14 )
    0
  • Trong vòng lặp đầu tiên, vòng lặp
    = TRANSPOSE ( A1:D14 )
    1 thứ hai chạy cho mỗi hàng cho đến khi nó đến hàng cuối cùng trong phạm vi đã chọn và sau đó trả về đầu ra đã chuyển đổi bằng cách thay đổi vị trí của hàng và cột
  • Cuối cùng, chúng ta sử dụng phương thức
    = TRANSPOSE ( A1:D14 )
    6 sau khi cả hai vòng lặp kết thúc, để dán các giá trị từ mảng
    = TRANSPOSE ( A1:D14 )
    0 vào trang tính đang hoạt động bắt đầu từ hàng đầu tiên trong cột thứ sáu (G). Bạn có thể thay đổi vị trí các cột sao cho thuận tiện nhưng nhớ đừng chồng lên bố cục ban đầu

Đó là nó. Bây giờ bạn có tập lệnh của riêng mình có thể tự động hóa tác vụ chuyển đổi mỗi khi bạn chạy tập lệnh đó

Nhấn nút Chạy để thực thi tập lệnh này và bạn có thể thấy trong trang tính rằng dữ liệu hiện được chuyển đổi trong cột G trở đi

kết luận

Trong bài viết này, bạn đã thấy ba cách chuyển đổi dữ liệu khác nhau trong Google Trang tính

Chuyển đổi đơn thuần là một phương pháp sắp xếp dữ liệu của bạn theo cách hàng trở thành cột và cột trở thành hàng

Nếu bạn muốn một cách tĩnh cũng có thể giữ nguyên định dạng dữ liệu gốc, Paste Special là phương pháp bạn nên thực hiện

Nếu bạn đang cần một cách chuyển đổi dữ liệu động, thì chức năng TRANSPOSE là phù hợp nhất với bạn

Cuối cùng, nếu bạn muốn tự động hóa toàn bộ quy trình, Apps Script cũng có thể được sử dụng để chuyển đổi dữ liệu của bạn

Hãy nhớ rằng chức năng TRANSPOSE hoặc phương pháp Apps Script sẽ không giữ nguyên định dạng ban đầu khi được sử dụng để chuyển đổi dữ liệu của bạn

Bạn có sử dụng bất kỳ phương pháp nào trong số này không?

Tại sao tính năng dán chuyển vị không hoạt động trong Google Trang tính?

Tại sao tôi không thể thay đổi kích thước cột trong Google Trang tính?

Di chuột đến cạnh bên phải của nhãn cột . Con trỏ chuột sẽ thay đổi thành một mũi tên. Nhấn và giữ nút chuột và kéo chuột để thay đổi kích thước cột.

Tại sao Excel không chuyển đổi?

Ghi chú. Nếu dữ liệu của bạn nằm trong bảng Excel, tính năng Chuyển đổi sẽ không khả dụng . Trước tiên, bạn có thể chuyển đổi bảng thành một phạm vi hoặc bạn có thể sử dụng hàm TRANSPOSE để xoay các hàng và cột.

Có cách nào để chuyển đổi hàng và cột trong Google Trang tính không?

Trên máy tính của bạn, hãy mở một bảng tính trong Google Trang tính. Chọn hàng hoặc cột cần di chuyển. Ở trên cùng, nhấp vào Chỉnh sửa. Chọn hướng bạn muốn di chuyển hàng hoặc cột, như Di chuyển hàng lên trên .