วิธีล็อค / ป้องกันเซลล์ใน Google Spreadsheets


9

ฉันสร้างแอปพลิเคชันสเปรดชีตที่ง่ายมากใน Google Spreadsheet สำหรับคุณแม่ แต่ฉันจำเป็นต้องล็อค / ป้องกันเซลล์ด้วยสูตรเพื่อที่เธอจะไม่สามารถแก้ไขได้ ทุกครั้งที่ฉันบอกให้เธอลองเวอร์ชันใหม่เธอเขียนทับสูตร

ความคิดใด ๆ วิธีการวิธีการที่จากจุดทางเทคนิคของมุมมอง ?

ฉันค้นหาเครือข่ายและดูเหมือนว่าฉันไม่สามารถทำได้ใน Google Apps

คำตอบ:


9

ไม่สามารถล็อคเซลล์ที่กำหนดได้ในขณะนี้ อย่างไรก็ตามคุณสามารถสร้างแผ่นงานใหม่ในสเปรดชีตและล็อคแผ่นงานเหล่านั้นได้ หากคุณต้องการป้องกันไม่ให้เธอเปลี่ยนสูตรคุณสามารถให้ผลลัพธ์ / สูตรทั้งหมดอยู่ในชีตที่สองโดยอ้างถึงข้อมูลของชีตแรกจากนั้นล็อคชีตที่สองเพื่อให้อ่านได้อย่างเดียวกับเธอ

sheetname!rangeเพื่อที่จะอ้างอิงข้อมูลจากแผ่นอื่นใช้ไวยากรณ์ ตัวอย่างเช่นการใช้ค่าเฉลี่ยของ sheet1 ของคอลัมน์ในแถวที่ 2 ถึง 10 Average(sheet1!A2:A10)คุณจะใช้

ในการเพิ่มแผ่นงานให้ใช้+เครื่องหมายที่ด้านล่างขวาของสเปรดชีต คุณสามารถสลับระหว่างและเปลี่ยนชื่อแผ่นงานได้โดยใช้แท็บและลูกศรเลื่อนลงที่ด้านล่างซ้ายของสเปรดชีต

ภาพหน้าจอของ Google เอกสาร


คำอธิบายที่ดีมากมาก ขอบคุณ. ไม่แน่ใจว่าสามารถใช้งานได้หรือไม่ในกรณีที่คุณมีตารางธรรมดาและต้องการคำนวณผลรวมของคอลัมน์และแถว ผู้ใช้มักต้องการเห็นผลรวมและข้อมูลบนหน้าจอเดียว ถ้าเธอลบสูตรฉันมีทางออกสำหรับ :-)
Radek

ยินดีที่จะช่วยเหลือ นอกจากนี้ยังมีฟังก์ชั่นที่เรียกว่าimportrangeซึ่งสามารถนำเข้าทั้งส่วนของแผ่นงานหนึ่งไปยังอีกแผ่นหนึ่ง คุณสามารถนำเข้าข้อมูลชีตแรกทั้งหมดไปยังชีตที่สองจากนั้นแสดงสมการทั้งหมดที่อยู่ใกล้กับข้อมูลที่พวกเขาต้องการ Google มีเอกสารประกอบซึ่งคุณอาจพบว่ามีประโยชน์ มันยังคงไม่ใช่โซลูชันที่สมบูรณ์แบบ แต่จะเข้าใกล้กว่าเนื่องจากจะแสดงผลลัพธ์ทั้งหมดในหน้าเดียวด้วยข้อมูลต้นฉบับอย่างน้อย
nhinkle

ดูเหมือนว่านี่เป็นทางออกเดียวในเวลานี้ .... ขอบคุณ
Radek

ไม่มีปัญหา. ในที่สุดหากคุณพบทางออกที่ดีกว่าโปรดอัปเดตโพสต์ของคุณ ฉันสนใจที่จะฟังเกี่ยวกับมัน
nhinkle

4

ฉันพบว่าหากคุณสร้างความคิดเห็นที่แนบเซลล์ที่ไม่ควรแก้ไขคุณสามารถเตือนผู้อื่นเมื่อพวกเขาวางเมาส์ไว้เหนือเซลล์เพื่อแก้ไข แน่นอนว่ามันไม่ได้ล็อคเซลล์ แต่หวังว่าจะมีเวลาพอที่จะเห็นโน้ตปรากฏขึ้นและบางทีแม่ของคุณอาจหยุดเปลี่ยนตัวเลขเหล่านั้นด้วยตนเอง

ฉันคิดว่าคุณสามารถเพิ่มความคิดเห็นได้ครั้งละหนึ่งเซลล์เท่านั้นดังนั้นขึ้นอยู่กับจำนวนเซลล์ที่มีสูตรวิธีการแก้ปัญหานี้อาจไม่สามารถใช้งานได้


คุณถูกที่ฉันไม่สามารถใช้ในกรณีนี้เป็นสูตรอยู่ในคอลัมน์ทั้งหมด แต่มันจะเป็นทางออกที่ดีในบางกรณี ...
Radek

4

คำตอบตามนี้คือ "ช่วงที่ตั้งชื่อและป้องกัน" ภายใต้เมนูข้อมูล ทำงานได้อย่างราบรื่น


3
ข้อ จำกัด ของการแก้ปัญหานี้คือเจ้าของสเปรดชีตไม่สามารถล็อคเซลล์กับตัวเอง ในการแก้ปัญหาของ OP OP จะต้องมีสเปรดชีตและแบ่งปันกับแม่ด้วย
MetaEd

ฉันไม่เห็นข้อ จำกัด ในการแก้ปัญหานี้ คุณสามารถทำอย่างละเอียด? การเปลี่ยนเจ้าของปกป้องช่วงของเซลล์กับตัวเองเช่นกัน
Radek

3

คุณสามารถใช้ google apps script เพื่อเขียนกลไกการล็อคของคุณเองใน javascript

ตัวอย่างเช่น:

สมมติว่าคุณมีสูตรในคอลัมน์ B และเท่ากับค่าในคอลัมน์ A + 1 ถ้าเราดูเซลล์ (B3) ควรมีสูตรอยู่ใน "= A3 + 1"

ในการเขียนสคริปต์เพื่อป้องกันสิ่งนี้จากการดัดแปลงคุณจะต้องเขียนสคริปต์เช่นนี้โดยใช้ Script Editor:

function onEdit(event)
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var CellRow = SpreadsheetApp.getActiveRange().getRow();
  var CellColumn = SpreadsheetApp.getActiveRange().getColumn();

  if (CellColumn == 2){
    sheet.getRange(CellRow, CellColumn).setFormula("=A"+CellRow+"+1");
    Browser.msgBox("DON'T MESS WITH THE FORMULAS!");
  }
}

หากคุณทำให้มันทำงานทุกครั้งที่มีคนแก้ไขเซลล์ใด ๆ ในคอลัมน์ B สคริปต์จะใส่สูตรของคุณกลับมาโดยอัตโนมัติและให้ข้อความเตือนของคุณ


3

วิธีหลีกเลี่ยงปัญหานี้คือการใช้การตรวจสอบข้อมูล

ไปที่เมนูข้อมูลคลิกการตรวจสอบความถูกต้อง ... จากนั้นกำหนดช่วงของเซลล์ที่คุณต้อง "ป้องกัน" SheetA!F2:F9999Ex: จากนั้นเลือกเกณฑ์: ข้อความเท่ากับ จากนั้นป้อนข้อมูลลงในกล่องเช่น: "= *" โดยไม่มีเครื่องหมายคำพูด ยกเลิกการทำเครื่องหมายที่ช่อง "อนุญาตข้อมูลที่ไม่ถูกต้อง ... " บันทึก

สิ่งนี้ควรให้ผู้ใช้ป้อนค่าที่ขึ้นต้นด้วย = sign (ซึ่งเป็นจุดเริ่มต้นของสูตรของคุณเพื่อป้องกัน) หากพวกเขาป้อนเครื่องหมาย = พวกเขาสามารถแก้ไขเซลล์นั้นได้

เครื่องหมายดอกจันอนุญาตให้ทุกอย่างหลังจาก = ถูกต้อง คุณสามารถระบุเพิ่มเติมเพื่อปกป้องเพิ่มเติม: Ex: ข้อความเท่ากับ=sum(*)หรือ=AVG(B*:D*)ฯลฯ ...



1

วิธีแก้ปัญหาง่าย ๆ จากด้านหลังเมื่อ Excel มีปัญหาเดียวกัน:

อีกวิธีที่คุณสามารถทำได้คือผ่านการตรวจสอบข้อมูล หลังจากคุณมีเซลล์ที่มีเนื้อหาที่ต้องการแล้ว

เลือกการตรวจสอบข้อมูลและใช้ตัวเลือกกำหนดเอง สำหรับสูตรป้อน=""

จากนั้นเลือก "ปฏิเสธอินพุต"


0

ใน Microsoft Excel ฉันสามารถล็อคแผ่นงานทั้งหมดแล้วเลือกปลดล็อคแต่ละเซลล์หรือช่วง

ใน Google Spreadsheets ฉันล็อกเซลล์ทั้งหมดในช่วงที่แยกกันตั้งแต่หนึ่งช่วงขึ้นไปยกเว้นเซลล์ที่ผู้ใช้รายอื่นสามารถใช้เพื่อป้อนข้อมูลได้ ดูตัวอย่างของแผ่นงาน Google ที่ฉันทำวันนี้: ตัวอย่าง

หนึ่งรูปแบบจาก Excel คือเซลล์ทั้งหมดใน Google ชีตที่ถูกล็อคทั้งหมดมีแถบสีเทาเป็นพื้นหลัง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.