Làm cách nào tôi có thể nhận Google Sheets để coi các chuỗi được gửi theo mẫu của mình dưới dạng văn bản thuần túy và duy trì các số không hàng đầu?


8

Tôi có Google Forms nơi người dùng nhập thông tin, một số trong đó có các số 0 đứng đầu (ví dụ: mã zip, số ID).

Tuy nhiên, khi dữ liệu này được lưu vào Google Sheet, nó không coi đó là văn bản thuần túy và loại bỏ số không. Các trường biểu mẫu là các trường văn bản không có xác nhận.

Tôi đã cố gắng định dạng phạm vi ô chứa các giá trị này dưới dạng văn bản thuần túy, nhưng có vẻ như Sheets không đặt định dạng là văn bản thuần trừ khi đã có văn bản trong một ô. Vì vậy, tôi có thể định dạng một cột dưới dạng văn bản thuần túy, gửi biểu mẫu và số 0 đứng đầu vẫn sẽ bị xóa.

Tôi đã thử viết một tập lệnh ứng dụng để giải quyết vấn đề này nhưng không có cách nào tốt để tôi triển khai nó cho những người dùng cần nó.

Làm thế nào tôi có thể khắc phục điều này mà không phải hướng dẫn người dùng đăng trước một trích dẫn cho mục nhập mẫu của họ? Đây là một việc nhỏ như vậy, nhưng tôi không thể tìm thấy một giải pháp đơn giản tốt cho những gì có vẻ như là một vấn đề phổ biến. Nếu tôi không thể làm việc này, tôi có thể phải bỏ Google Forms / Sheets hoàn toàn.


1
Chào mừng bạn đến với Ứng dụng web ! Câu hỏi hay, tôi đã chỉnh sửa nó một chút để dễ đọc hơn. Bạn đã thấy Làm cách nào tôi có thể khiến Google Docs ngừng định dạng phản hồi biểu mẫu dưới dạng ngày chưa?
Vidar S. Ramdal

1
Có, và như đã lưu ý ở trên, tôi đã thử những gì "câu trả lời được chấp nhận" đề xuất, nhưng đó là phiên bản cũ hơn và nó không còn hoạt động nữa.
res

Câu trả lời:


3

Một phần câu trả lời của tôi sẽ là: đây là một lỗi đã biết (các lần gửi biểu mẫu mới nhận được không tôn trọng định dạng của các cột mà chúng đang hạ cánh, giống như trong phiên bản cũ của trang tính).

Tùy thuộc vào những gì bạn đang làm với dữ liệu sau đó, một tùy chọn khác sẽ là sao chép các lần gửi biểu mẫu trên một trang tính khác, với định dạng chính xác. Ví dụ: nếu cột E chứa mã zip dài 5 chữ số và bao gồm các số 0 đứng đầu (nếu cần), thì bạn có thể sử dụng:

=ArrayFormula(TEXT('Form Responses'!E:E,"00000"))

trên một tờ khác.

Bạn sẽ cần phải mang lại tất cả các cột khác của bạn, mặc dù. Không quá phức tạp, điều này có thể dễ dàng đạt được một cách hợp lý trong phiên bản Trang tính mới và định dạng (các) cột như mong muốn, với (ví dụ):

=QUERY('Form Responses'!A:G,"select * format E '00000'",1)


2

Tôi vừa gặp phải vấn đề này, nhưng thật không may, tôi không biết số chữ số mà tôi mong đợi vì vậy tôi không biết có bao nhiêu số không có thể bị thiếu. May mắn là tôi đã nghĩ đến điều này trước khi tôi gửi mẫu đơn ra, nếu bạn đã có phản hồi thì điều này sẽ không có ích (trừ khi bạn gửi lại lần nữa).

Để giải quyết vấn đề này, tôi có:

  1. Đặt loại câu hỏi thành "Văn bản"
  2. Trong "Cài đặt nâng cao", tôi đã chọn "Biểu thức chính quy"
  3. Trong hộp thả xuống tiếp theo tôi đã chọn "Trận đấu"
  4. Trong hộp văn bản tôi đã nhập ^\[\d+\]$

Biểu thức chính quy này buộc người dùng phải nhập một dấu ngoặc vuông mở khi bắt đầu phản hồi của họ, sau đó phải được theo sau ít nhất một chữ số và nó phải được kết thúc bằng dấu ngoặc vuông đóng. Ví dụ [0021314] sẽ là một mục hợp lệ. Lưu ý rằng điều này sẽ chỉ cho phép các chữ số, nếu bạn chỉ muốn buộc dấu ngoặc vuông, bạn có thể sử dụng ^\[.+\]$thay thế.

Trong trang tính, điều này sẽ hiển thị dưới dạng [0021314], do đó bạn sẽ cần xóa dấu ngoặc vuông có thể được thực hiện với công thức như =mid(A1,2,len(A1)-2)trong đó A1 là ô chứa [0021314]. Tự động điền và định dạng các ô dưới dạng văn bản thuần sẽ làm phần còn lại của những gì bạn cần.

Bạn cũng có thể thay đổi biểu thức thông thường để buộc người dùng nhập một trích dẫn khi bắt đầu mục nhập của họ


0

Một cách nói dài dòng "Tôi không biết làm thế nào" kết hợp với "dường như là không thể" (nhưng thật xấu hổ):

Cách tốt nhất (nhưng yếu) tôi có thể quản lý là mong đợi đầu vào (và do đó cũng xuất ra) một chữ số tại một thời điểm bằng cách sử dụng Thang đo từ 0 đến 9 cho mỗi chữ số.


0

Các giải pháp được đề xuất ở đây và trên các luồng khác chỉ hoạt động đối với các số có số chữ số cố định. Giống như 5 cho mã zip được xem xét ở trên.

Tôi phải giữ số 0 hàng đầu của số điện thoại Bỉ.
Các đường đất của Bỉ có cấu trúc 025382172 (9 chữ số)
Trong khi điện thoại di động có cấu trúc 0485123456 (10 chữ số)

Tôi nghĩ rằng tôi đã tìm thấy một cách giải quyết sao chép dữ liệu trong một tab mới. Để làm điều này, tôi sử dụng hai mảng riêng biệt cho các nhóm cột tải hàng loạt.

Mảng đầu tiên sao chép tất cả các cột cho đến cột số điện thoại G, không bao gồm. =ARRAYFORMULA('Form Responses'!A2:F302)
Mảng thứ hai sao chép tất cả các cột sau cột số điện thoại G cho đến cột cuối cùng.=ARRAYFORMULA('Form Responses'!H2:P302)

Trong cột số điện thoại, tôi có một công thức đơn giản để nối số 0 trước khi giá trị được sao chép: =("0"&'Form Responses'!G2)

Thật không may, nó chỉ hoạt động ở chế độ tĩnh.
Ở chế độ động, khi một hàng mới xuất hiện từ Google Form, công thức trong cột số điện thoại G bị rối, ngay cả khi các mảng không được cho là ảnh hưởng đến cột này.

Trên thực tế, công thức =("0"&'Form Responses'!G2)chuyển sang hàng tiếp theo trống =("0"&'Form Responses'!G3)để lại ô có giá trị bực bội là 0.

Sẽ theo đuổi các nghiên cứu của tôi bằng cách quay lại 1 mảng duy nhất cho tất cả các cột trong một khối, thêm một cột số điện thoại trùng lặp ở bên ngoài vùng mảng và chỉ cần nhập công thức sau: =("0"&G3)... tò mò liệu nó có hoạt động không ... Nếu đúng như vậy, tôi sẽ che dấu cột số điện thoại "bản địa" và chỉ hiển thị số đã xử lý (tiếc là không ở đúng vị trí trên trang).


Giải pháp được mô tả LÀ LÀM VIỆC, với điều kiện cột số điện thoại được chuyển đổi KHÔNG được nén giữa hai mảng. Nó phải ở ngoài khu vực nơi dữ liệu được thêm tự động. Hoặc bên phải hoặc bên trái. TIẾNG HOAN HÔ! Amicalement de Belgique. Pierre
Pierre Becquart

0

Đây là một bài viết cũ hơn, nhưng tôi muốn giới thiệu ...

Trong tab kết quả, A1:

=QUERY('Form Responses'!A:F)

Trong G1:

=ArrayFormula(IF(ROW('Form Responses'!G:G)=1, 'Form Responses'!G1, IF('Form Responses'!G:G="", "", "0"&'Form Responses'!G:G)))

Trong nửa đầu:

=QUERY('Form Responses'!H:P)

Một cách tiếp cận tương tự có thể được thêm vào để sửa đổi bất kỳ dữ liệu nào của cột cần sửa đổi.


0

Tôi đã giải quyết vấn đề về mã zip bắt đầu bằng "0" theo cách này ... Cột nổi bật, chuyển đến tab định dạng, nhấp vào "số", "định dạng khác" và sau đó "định dạng số tùy chỉnh" Vì mã zip của tôi chỉ có 5 chữ số tôi đã gõ vào "00000" và nhấn áp dụng. va no đa hoạt động!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.