আমি কীভাবে Google ডক্স স্প্রেডশীটগুলিতে সারিতে স্বয়ংক্রিয়ভাবে "সর্বশেষ আপডেট হওয়া" সেল সেট করতে পারি?


21

আমি কীভাবে Google ডক্স স্প্রেডশীটগুলিতে সারিতে "সর্বশেষ আপডেট হওয়া" সেলটি স্বয়ংক্রিয়ভাবে সেট করতে পারি?

আমি একটি কলাম তৈরি করতে চাই যেখানে সেই সারির সর্বশেষ সংশোধন করা হয়েছিল তখন সেলগুলির মান স্বয়ংক্রিয়ভাবে সেট হয়ে যাবে। এটা কি সম্ভব? আমি এটি কীভাবে করব / এটি সেট করতে আমি কী বিকল্প ব্যবহার করব?

আমি এমএস এক্সেলের জন্য একপর্যায়ে দেখতে পাচ্ছি তবে আমি মনে করি গুগল ডক্সে কিছু মিল থাকতে হবে, তাই না? (আঙ্গুলগুলি পার হয়ে গেছে)

আমাদের একাধিক লোক একটি বড় শিট সম্পাদনা করছে। আমরা পুনর্বিবেচনার ইতিহাসটি দেখতে পারি, তবে আমাদের কাছে "শেষ আপডেট হওয়া" তারিখগুলির একটি কলাম থাকলে এটি আরও ভাল লাগবে।


আপনি চেষ্টা করেছেন? যদি এটি কাজ করে, তবে দয়া করে এটির জন্য চিহ্নিত করুন, ওয়েব অ্যাপস.স্ট্যাকেক্সচেঞ্জ / ফ্যাঙ্ক#howtoask দেখুন
জ্যাকব জানু টুনস্ট্রা

উত্তর:


20

আপনি যখন কোনও ঘর সম্পাদিত হয় তখন ক্যাপচারের জন্য একটি গুগল অ্যাপস স্ক্রিপ্ট যুক্ত করার চেষ্টা করতে পারেন এবং একটি আলাদা ঘরে একটি টাইমস্ট্যাম্প যুক্ত করতে পারেন। এখানে আগের মত উত্তর যা একই রকম: গুগল স্প্রেডশিট টাইমস্ট্যাম্প?

function onEdit() {
 var s = SpreadsheetApp.getActiveSheet();
 if( s.getName() == "Sheet1" ) { //checks that we're on the correct sheet
   var r = s.getActiveCell();
   if( r.getColumn() == 13 ) { //checks the column
     var nextCell = r.offset(0, 1);
     if( nextCell.getValue() === '' ) //is empty?
       var time = new Date();
       time = Utilities.formatDate(time, "GMT", "HH:mm:ss");
       nextCell.setValue(time);
   };
 };
}

দেখতে দেখতে ভাল
লাগবে


14

=iferror(A1+B1+C1+D1+J1+K1+L1+"x",today())যখনই সারির কক্ষগুলি সূত্র পরিবর্তন করে পুনরায় গণনা করে। "x" সমীকরণের সাথে এটি একটি ত্রুটির নিশ্চয়তা দেয়। যার বিনিময়ে, তারিখটি ফেরত দেয়।


5
এটি একটি আকর্ষণীয় ক্লুজ।
আলে

1
আমি দেখেছি সবচেয়ে সুন্দর সমাধান :)
mafonya

5
আমি যতদূর বলতে পারি, এটি আসলে কাজ করে না। পরিষ্কার হওয়ার জন্য, এটি কাজ করে তবে নির্দিষ্ট সারিগুলির জন্য এটি আপডেট হয়নি। যখন আমি এটিকে রাখি এবং একাধিক সারি দিয়ে টেনে আনি, তারপরে শীটের যে কোনও জায়গায় সম্পাদনা করুন, সমস্ত সারি পুনরায় গণনা করা এবং আপডেট করা হবে।
nhgrif

1
কি দারুন! এটা আমার জন্য কাজ করে। এখানে একটি সংক্ষিপ্ত সংস্করণ রয়েছে: = iferror (SUM (A2: O2) + "x", আজ ()) এবং এটিকে টেনে এনে স্বয়ংক্রিয়ভাবে সারি সংখ্যা আপডেট করা হয়েছে।
ইলিয়া এভডোকিমভ

1

এটি আমার স্ক্রিপ্ট, সর্বশেষ কলামে এই তথ্যটি দেওয়া হয়েছে:

  1. ঘরে প্রবেশ করুন (আপনি যে সারির সংশোধন করেছেন তার জন্য সর্বশেষ সেলটি = সর্বশেষ কলামে) - GMT -3 এ তারিখ, আপনি যদি অন্য টিজেডে একই রাখতে চান তবে আপনার সমবর্তী সময়কালীন -3 পরিবর্তন করুন। আপনি যদি নিজের ডিফল্ট টিজেডে স্বয়ংক্রিয়ভাবে তারিখটি রাখতে চান তবে কেবল এটি সংশোধন করুন:

    var date = Utilities.formatDate(new Date(), "GMT-3", "dd/MM/yyyy HH:mm");
    to
    var date = Utilities.formatDate(new Date());
    
  2. সেল + ব্যবহারকারীর সাথে একটি মন্তব্য Inোকান যারা এটি পরিবর্তন করে।

  3. আপনি যখন কিছু আপডেট করেন তখন একটি পপআপ উপস্থিত হন। শুধুমাত্র অ্যাক্টিভ ইউজারে উপস্থিত হবে।

    function onEdit(event)
    {
        var ss = SpreadsheetApp.getActiveSpreadsheet();
        var actSht = event.source.getActiveSheet();
        var actRng = event.source.getActiveRange();
    
        var index = actRng.getRowIndex();
        var dateCol = actSht.getLastColumn();
        var lastCell = actSht.getRange(index,dateCol);
        var date = Utilities.formatDate(new Date(), "GMT-3", "dd/MM/yyyy HH:mm");
    
        lastCell.setValue(date);
        lastCell.setComment("Ultima Modificacion: " + actRng.getA1Notation() +' por '+Session.getActiveUser());
        ss.toast('Ultima Modificacion = '+ actRng.getA1Notation()+' por '+Session.getActiveUser());
    }
    

1

রেফারেন্সড সেলটি সংশোধন করা হলে আমি একটি ফাংশন তৈরি করেছি যা একটি নতুন তারিখ লিখবে। এই ক্ষেত্রে কক্ষের মানটি সত্য বা মিথ্যা তবে আপনি এটিকে যে কোনও মানতে সম্পাদনা করতে পারবেন।

function WhenUpdated(cell1) {
  if(cell1){
    return new Date();
  }
  else return null;
}

1

এখানে একটি সংস্করণ রয়েছে যা কলাম নম্বরটি হার্ডকডিংয়ের চেয়ে শিরোনামটি ব্যবহার করে কলামটি সন্ধান করে এবং একটি কাস্টম টাইম অঞ্চল ব্যবহার করে:

function updateModified(options) {
  var sheet = SpreadsheetApp.getActiveSheet();
  if (options.sheetName && sheet.getName() != options.sheetName) {
    return;
  }

  var modifiedColumnName = options.modifiedColumnName || 'Modified';
  var header = sheet.getDataRange().offset(0, 0, 1).getValues()[0];
  var modifiedColumn;
  for (var i=0; i < header.length; i++) {
    if (header[i].trim() == modifiedColumnName) {
      modifiedColumn = i + 1;
      break;
    }
  }
  if (typeof modifiedColumn != 'number') {
    throw new Error("Can't find column with name: " + modifiedColumnName);
  }

  var activeCell = sheet.getActiveCell();
  if (activeCell.getColumn() == modifiedColumn) {
    return;
  }

  var modifiedCell = sheet.getRange(activeCell.getRow(), modifiedColumn);
  var formattedDate = Utilities.formatDate(new Date(), "America/Los_Angeles", "M/dd/yy HH:mm");
  modifiedCell.setValue(formattedDate);
}

function onEdit() {
  updateModified({sheetName: 'Jobs'});
}

ইউটিসি ব্যবহার করতে, সময় অঞ্চলটি ইউটিসি-তে পরিবর্তন করুন।


-4

কেবলমাত্র "সর্বশেষ আপডেট হওয়া:" একটি কক্ষে টাইপ করুন এবং তার পাশের ঘরে "= এখন ()" টাইপ করুন! কাজটি করা উচিত!


1
এটি কেবল প্রতি ঘরে ঘরে কাজ করবে, প্রতি সারিতে প্রতি প্রশ্নের মতো নয়
1owk3y
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.