Nhiều thẻ trong google sheet
Làm cách nào để thiết lập nhiều bộ sưu tập TAGS chạy cùng lúc? . e. có hai chủ đề tôi quan tâm trên Twitter và tôi muốn thu thập các tweet trên cả hai cùng một lúc Show
Tôi chỉ cần tải xuống một bản sao khác của TAGS và thiết lập nó như bình thường? Cảm ơn nhiều anna Tháng Chín 13, 2018 lúc 7. 53 giờ chiều mhawksey Chủ chốt Có – Nếu bạn tạo một bản sao khác của TAGS Google Trang tính, bạn có thể thiết lập cụm từ tìm kiếm khác và thu thập dữ liệu mà không gặp vấn đề gì Mục đích chính của danh sách thả xuống trong Google Trang tính là cung cấp các tùy chọn mà người dùng có thể chọn. Nó cung cấp cho người dùng cái nhìn rõ ràng về tất cả các tùy chọn có sẵn và cũng đảm bảo rằng người dùng chỉ chọn các mục được phép Danh sách thả xuống cũng đảm bảo rằng có ít lỗi hơn vì giờ đây người dùng có thể chọn từ danh sách được xác định trước thay vì nhập nội dung ô theo cách thủ công Google trang tính cho phép chúng tôi sử dụng chức năng này một cách dễ dàng. Chỉ với một vài cú nhấp chuột, bạn có thể tạo danh sách thả xuống một ô hoặc điền vào toàn bộ hàng hoặc cột bằng danh sách thả xuống Tuy nhiên, bạn sẽ nhận thấy rằng danh sách thả xuống mặc định của Google Trang tính cho phép người dùng chỉ chọn một mục duy nhất từ danh sách Thông thường, bạn có thể cần chọn nhiều tùy chọn trong danh sách thả xuống. Ví dụ: khi có một bộ sưu tập màu để bạn chọn, bạn có thể thích nhiều hơn một màu Hoặc có thể muốn nhận danh sách các ngôn ngữ mã hóa mà người dùng thành thạo Trong những trường hợp như vậy, có thể người dùng biết nhiều hơn một và cần phải chọn nhiều tùy chọn từ trình đơn thả xuống Do đó, nhiều lựa chọn trong danh sách thả xuống có thể khá hữu ích. Rất tiếc, theo truyền thống, tùy chọn này không được phép trong Google Trang tính. Bạn chỉ được phép có một lựa chọn tại một thời điểm Tin tốt là có một cách giải quyết vấn đề này. Có thể làm cho danh sách thả xuống của bạn cho phép nhiều lựa chọn bằng cách sử dụng Google AppScript Trong bài viết này, tôi sẽ chỉ cho bạn cách tạo danh sách thả xuống cho phép nhiều lựa chọn (đại loại như hình bên dưới) Nhưng trước tiên, hãy bắt đầu lại từ đầu Mục lục Hãy bắt đầu bằng cách tạo danh sách thả xuống mới từ danh sách các tùy chọn màu Nhấp vào đây để nhận bản sao của Google Trang tính đã bật nhiều lựa chọn (tạo một bản sao để sử dụng) Cho phép nhiều lựa chọn trong danh sách thả xuống (có lặp lại)Đối với hướng dẫn này, tôi sẽ sử dụng tập dữ liệu sau đây của các mục và sẽ tạo trình đơn thả xuống trong ô C1 Để tạo danh sách thả xuống cho phép nhiều lựa chọn, bạn cần thực hiện hai việc
Hãy xem xét chi tiết từng bước này Tạo danh sách thả xuốngGiả sử tôi có tập dữ liệu gồm các mục như hình bên dưới và tôi muốn tạo danh sách thả xuống trong ô C1 Dưới đây là các bước để làm điều này
Danh sách thả xuống của bạn bây giờ sẽ xuất hiện trong ô được chỉ định của bạn (C1 trong ví dụ này). Khi bạn nhấp vào mũi tên, bạn sẽ thấy danh sách các tùy chọn của mình Lưu ý rằng bạn chỉ được phép chọn một tùy chọn tại một thời điểm Bây giờ, hãy để tôi chỉ cho bạn cách chuyển đổi trình đơn thả xuống này (chỉ cho phép hiển thị một mục trong ô) thành trình đơn cho phép nhiều lựa chọn Và để làm được điều đó, bạn cần thêm chức năng script trong Google Sheets script editor Thêm Google Apps Script để kích hoạt nhiều lựa chọnDưới đây là mã tập lệnh mà bạn sẽ phải sao chép và dán vào trình chỉnh sửa tập lệnh (các bước được đề cập bên dưới phần sau mã) function onEdit(e) { var oldValue; var newValue; var ss=SpreadsheetApp.getActiveSpreadsheet(); var activeCell = ss.getActiveCell(); if(activeCell.getColumn() == 3 && activeCell.getRow() == 1 && ss.getActiveSheet().getName()=="Sheet1") { newValue=e.value; oldValue=e.oldValue; if(!e.value) { activeCell.setValue(""); } else { if (!e.oldValue) { activeCell.setValue(newValue); } else { activeCell.setValue(oldValue+', '+newValue); } } } } Dưới đây là các bước để thêm mã tập lệnh này vào phần phụ trợ của Google Trang tính để trình đơn thả xuống mà chúng tôi đã tạo trong ô C1 có thể cho phép chọn nhiều tùy chọn
Bây giờ, hãy quay lại trang tính và thử thực hiện nhiều lựa chọn trong trình đơn thả xuống. Ví dụ đầu tiên chọn Apple sau đó chọn Banana Bạn sẽ nhận thấy rằng phải mất một giây (đôi khi là hai giây) và sau đó sẽ hiển thị cho bạn cả hai mục đã chọn (được phân tách bằng dấu phẩy) Ghi chú. Bạn sẽ thấy một hình tam giác màu đỏ ở phần trên cùng bên phải của ô. Nó có thể trông giống như một lỗi (có nghĩa là giá trị bạn có trong ô không như mong đợi). Bạn có thể bỏ qua điều này một cách an toàn Cũng lưu ý rằng với mã này, nó sẽ cho phép bạn chọn cùng một mục hai lần. Ví dụ bạn chọn Apple rồi chọn lại Apple thì nó hiện 2 lần trong ô Nếu bạn muốn tạo danh sách thả xuống cho phép nhiều lựa chọn mà không lặp lại, tôi đã cung cấp mã sau trong hướng dẫn này Mã hoạt động như thế nào? Hãy cố gắng hiểu từng phần mã này Mã bắt đầu bằng dòng function onEdit(e) onEdit() là một chức năng đặc biệt trên Google Sheets. Nó còn được gọi là trình xử lý sự kiện. Chức năng này được kích hoạt mỗi khi có thay đổi trong bảng tính của bạn Chúng tôi muốn mã nhiều lựa chọn của chúng tôi chạy mỗi khi một mục được chọn từ danh sách thả xuống, vì vậy sẽ rất hợp lý khi đặt mã của chúng tôi vào hàm onEdit() Bây giờ, AppScript chuyển chức năng này dưới dạng đối tượng sự kiện làm đối số. Thông thường, đối tượng sự kiện được gọi là e. Đối tượng sự kiện này chứa thông tin về sự kiện được kích hoạt Nếu bạn biết cơ bản về AppScript, bạn sẽ thấy bốn dòng đầu tiên khá dễ hiểu var oldValue; var newValue; var ss=SpreadsheetApp.getActiveSpreadsheet(); var activeCell = ss.getActiveCell(); Tôi đã khai báo hai biến – một (oldValue) sẽ giữ giá trị cũ của ô và biến khác (newValue) sẽ giữ giá trị mới của ô Biến activeCell sẽ giữ ô hiện đang hoạt động đã được chỉnh sửa Bây giờ, chúng tôi không muốn mã chạy mỗi khi bất kỳ ô nào được chỉnh sửa. Chúng tôi chỉ muốn nó chạy khi ô CA1 của Sheet1 được chỉnh sửa. Vì vậy, chúng tôi đảm bảo điều đó bằng cách sử dụng câu lệnh if if(activeCell.getColumn() == 3 && activeCell.getRow() == 1 && ss.getActiveSheet().getName()=="Sheet1") Đoạn mã trên kiểm tra số hàng và cột của ô đang hoạt động và tên trang tính. Vì trình đơn thả xuống nằm trong ô C1, nó sẽ kiểm tra xem số hàng có phải là 1 hay không và số cột có phải là 3 hay không Chỉ khi cả ba điều kiện này được đáp ứng thì mã trong câu lệnh IF mới được thực thi Dưới đây là mã được thực thi khi chúng tôi ở ô bên phải (C1 trong ví dụ của chúng tôi) newValue=e.value; oldValue=e.oldValue; e. oldValue cũng là một thuộc tính của đối tượng sự kiện, e. Điều này giữ giá trị trước đó của ô hoạt động. Trong trường hợp của chúng tôi, đây sẽ là giá trị trước khi chúng tôi thực hiện lựa chọn thả xuống Chúng tôi muốn gán giá trị này cho biến oldValue e. giá trị là thuộc tính của đối tượng sự kiện, e. Điều này giữ giá trị hiện tại của ô hoạt động. Chúng tôi muốn gán giá trị này cho biến newValue Đầu tiên, chúng ta hãy xem xét điều gì sẽ xảy ra nếu không có tùy chọn nào được chọn. Trong trường hợp đó, e. giá trị sẽ không được xác định. Khi điều này xảy ra, chúng tôi không muốn bất cứ thứ gì được hiển thị trong ô A1. Vì vậy, chúng tôi đặt một giá trị trống trên ô Đây cũng là trường hợp nếu người dùng quyết định xóa tất cả các lựa chọn trước đó và khởi động lại từ đầu if(!e.value) { activeCell.setValue(""); } Nếu người dùng chọn một tùy chọn, thì các dòng sau câu lệnh khác sẽ được thực thi. Bây giờ chúng tôi muốn chỉ định những việc cần làm nếu một tùy chọn được chọn lần đầu tiên từ danh sách thả xuống Điều đó có nghĩa là e. oldValue không được xác định. Khi điều này xảy ra, chúng tôi chỉ muốn tùy chọn đã chọn (giá trị mới) được hiển thị trong ô A1 if (!e.oldValue) { activeCell.setValue(newValue); Cuối cùng, chúng tôi chỉ định những việc cần làm trong lần tiếp theo trở đi khi một tùy chọn được chọn. Điều đó có nghĩa là khi cả hai e. giá trị và e. oldValue giữ các giá trị cụ thể else { activeCell.setValue(oldValue+', '+newValue); } Sau khi bạn đang nhập mã, hãy lưu mã đó rồi thử thực hiện nhiều lựa chọn từ danh sách thả xuống của bạn. Bạn sẽ thấy tất cả các tùy chọn đã chọn của mình được hiển thị lần lượt, được phân tách bằng dấu phẩy Nếu bạn mắc lỗi, bạn luôn có thể xóa ô và bắt đầu lại. Khi điều này xảy ra, chúng tôi muốn hiển thị cả giá trị trước đó và giá trị mới được chọn trong ô A1, tất cả được phân tách bằng dấu phẩy Ghi chú. Khi bạn sử dụng đoạn mã trên, nó sẽ không cho phép bạn quay lại và chỉnh sửa một phần của chuỗi. Ví dụ bạn muốn chỉnh sửa chuỗi mặt hàng theo cách thủ công hoặc muốn xóa một phần của nó, bạn sẽ không thể làm được điều này. Bạn sẽ phải xóa tất cả nội dung ô và bắt đầu lại nếu muốn thực hiện bất kỳ thay đổi nào Tuy nhiên, có một vấn đề nhỏ với điều này. Lưu ý rằng nếu bạn chọn một mục nhiều lần, mục đó sẽ được nhập lại vào danh sách lựa chọn của bạn. Nói cách khác, sự lặp lại được cho phép. Nhưng thông thường, chúng tôi không muốn điều đó Dưới đây, tôi đã cung cấp chi tiết về cách bạn có thể thay đổi mã của mình để đảm bảo rằng một mục chỉ có thể được chọn một lần để không có sự lặp lại Cho phép nhiều lựa chọn trong danh sách thả xuống (không lặp lại)Dưới đây là mã sẽ cho phép nhiều lựa chọn trong trình đơn thả xuống mà không cần lặp lại ________số 8Trong đoạn mã trên, tôi lại sử dụng ô C1 trong trang tính Sheet1 làm ví dụ. Trong trường hợp trình đơn thả xuống của bạn nằm trong một ô (hoặc trang tính) khác, bạn cần điều chỉnh mã cho phù hợp Phần bên dưới của mã giúp chúng tôi có thể bỏ qua bất kỳ giá trị lặp lại nào trong trình đơn thả xuống if(oldValue.indexOf(newValue) <0) { activeCell.setValue(oldValue+', '+newValue); } else { activeCell.setValue(oldValue); } Hàm indexof() ở đây kiểm tra xem chuỗi trong oldValue có chứa chuỗi trong newValue hay không Nếu có, thì nó sẽ trả về chỉ mục của chuỗi trong oldValue. Nếu không sẽ trả về giá trị nhỏ hơn 0 Nếu tùy chọn mới được chọn tồn tại trong danh sách của chúng tôi, chúng tôi muốn giữ nguyên danh sách đó (vì vậy chúng tôi điền ô C1 với giá trị trước đó). Nếu không, thì chúng tôi muốn thêm tùy chọn mới được chọn vào danh sách bằng dấu phẩy (‘,’) và hiển thị nó trong ô C1 Nhiều lựa chọn trong danh sách thả xuống (Toàn bộ cột hoặc nhiều ô)Trong các ví dụ trên, tôi đã chỉ cho bạn cách có menu thả xuống nhiều lựa chọn trong một ô Nhưng nếu bạn muốn lấy cái này trong toàn bộ một cột hoặc nhiều ô thì sao? Bạn có thể dễ dàng hoàn thành việc này với một số sửa đổi nhỏ trong mã Nếu bạn muốn trình đơn thả xuống cho phép chọn nhiều mục trong toàn bộ cột C, bạn cần thay thế dòng mã sau if(activeCell.getColumn() == 3 && activeCell.getRow() == 1 && ss.getActiveSheet().getName()=="Sheet1") với dòng mã sau function onEdit(e)1 Khi bạn làm điều này, chúng tôi chỉ kiểm tra xem cột có phải là 3 hay không. Bất kỳ ô nào trong Trang tính 1 và trong Cột 3 sẽ đáp ứng tiêu chí NẾU này và bất kỳ trình đơn thả xuống nào trong này sẽ cho phép nhiều lựa chọn Tương tự, nếu bạn muốn điều này có sẵn cho toàn bộ cột C và F, hãy sử dụng dòng bên dưới để thay thế function onEdit(e)2 Dòng trên sử dụng điều kiện OR trong câu lệnh IF để kiểm tra xem số cột là 3 hay 6. Trong trường hợp một ô có trình đơn thả xuống nằm trong cột C hoặc F, nhiều lựa chọn sẽ được bật Tương tự, nếu bạn muốn bật tính năng này cho nhiều ô, bạn cũng có thể làm điều đó bằng cách sửa đổi mã Vì vậy, đây là cách bạn có thể bật nhiều lựa chọn trong trình đơn thả xuống trong Google Trang tính. Mặc dù tính năng này không khả dụng dưới dạng tính năng tích hợp, nhưng bạn có thể dễ dàng thực hiện việc này bằng một số phép thuật Google Apps Script Hy vọng bạn tìm thấy hướng dẫn này hữu ích Các hướng dẫn khác về Google Trang tính mà bạn có thể thấy hữu ích
Bài viết phổ biến nhất5 cách đơn giản để làm nổi bật các bản sao trong Google SheetsNẾU CHỨA Công thức Google Trang tính [2 Tùy chọn thông minh]Cách áp dụng công thức cho toàn bộ cột trong Google SheetsCách VLOOKUP từ một trang tính khác trong Google Trang tínhSumitGoogle Trang tính và Microsoft Excel Expert 100 suy nghĩ về “Cách tạo nhiều lựa chọn trong danh sách thả xuống trong Google Trang tính”
|