Προς το περιεχόμενο

error σε if στο google sheet


Μετάβαση στην απάντηση Απαντήθηκε από Xvipes,

Προτεινόμενες αναρτήσεις

Δημοσ.

καλησπέρα θέλω όταν αλλαζει το νούμερο στο κελι β2 και κάτω να μπαίνει η ημερομηνία στο κελι c2 και κάτω..καπου βρήκα αυτό το if με αυτήν την ρυθμηση που την έκανα αλλα μου βγάζει error.. τι κάνω λάθος ??

 

 

Στιγμιότυπο 2024-05-17, 9.59.37 πμ.png

Στιγμιότυπο 2024-05-17, 10.06.49 πμ.png

Δημοσ.

Έχεις κυκλική αναφορά στο κελί C2. Εισάγεις τον τύπο στο κελί C2 και στον τύπο του λες: Αν το C2 είναι κενό βάλε την ημερομηνία και ώρα.

Δεν μπορείς να εισάγεις τύπο σε ένα κελί και στον τύπο να αναφέρεσαι στο ίδιο κελί.

Δημοσ. (επεξεργασμένο)
9 λεπτά πριν, node7 είπε

Έχεις κυκλική αναφορά στο κελί C2. Εισάγεις τον τύπο στο κελί C2 και στον τύπο του λες: Αν το C2 είναι κενό βάλε την ημερομηνία και ώρα.

Δεν μπορείς να εισάγεις τύπο σε ένα κελί και στον τύπο να αναφέρεσαι στο ίδιο κελί.

αρα το σωστό είναι =ifs(B2="","",B2="",now(),C2<>"",C2) για να λειτουργεί και να μπαίνει η ημερομηνια στο κελι c2 ?? ή πως είναι η αλλαγή που πρέπει να κάνω ??

Επεξ/σία από nikos_greece
Δημοσ. (επεξεργασμένο)
3 λεπτά πριν, Xvipes είπε

Μια απλή IF φτάνει

=IF(B2<>"",NOW(),"")

αλλα υπάρχει πρόβλημα με την now() μέθοδο, ανανεώνει όλα τα κελιά που την χρησιμοποιούν.

Θα πρέπει να φτιάξεις custom function για να το πετύχεις. 

Δες εδώ: https://stackoverflow.com/a/25347809/2907079

αρα αν βάλω αυτών το κωδικα για τις στειλες και τα κουτιά που θέλω θα λειτουργεί ή θέλει κάποια αλλαγή ?? γιατί δεν ξέρω να γραφω κωδικα 😕

 

function onEdit(e) {
  var sheet      = e.source.getActiveSheet();
  var activeCell = sheet.getActiveCell();
  var col        = activeCell.getColumn();
  var row        = activeCell.getRow();
  if (col == 2 ) { 
    sheet.getRange(row, col+1).setValue(new Date()).setNumberFormat('MMM dd yyyy');
  }
}
7 λεπτά πριν, nikos_greece είπε

αρα αν βάλω αυτών το κωδικα για τις στειλες και τα κουτιά που θέλω θα λειτουργεί ή θέλει κάποια αλλαγή ?? γιατί δεν ξέρω να γραφω κωδικα 😕

 

function onEdit(e) {
  var sheet      = e.source.getActiveSheet();
  var activeCell = sheet.getActiveCell();
  var col        = activeCell.getColumn();
  var row        = activeCell.getRow();
  if (col == 2 ) { 
    sheet.getRange(row, col+1).setValue(new Date()).setNumberFormat('MMM dd yyyy');
  }
}

το έβαλα και δούλεψε ...ευχαριστώ φιλε 

Επεξ/σία από nikos_greece
  • Like 1
  • Λύση
Δημοσ.

Θα πας:

1) Επεκτάσεις-> Σενάρια Apps
2) Στο νέο παράθυρο αντικαθιστάς την "myFunction" με το παρακάτω:

function onEdit(e) {
  var sheet      = SpreadsheetApp.getActiveSheet();
  var activeCell = sheet.getActiveCell();
  var col        = activeCell.getColumn();
  var row        = activeCell.getRow();
  if (col == 2 ) { // assuming status is in column 2, adapt if needed
    sheet.getRange(row, col+1).setValue(new Date()).setNumberFormat('MMM dd yyyy, hh:mm:ss');// change the display format to your preference here
  }
}

3) Πατάς στο εικονίδιο της δισκέτας Save project και μετά πατάς "Run"
4) Στο pop up θα πατήσεις Review permissions, θα επιλέξεις το google account σου και μετά πατάς εδώ που σου δείχνω στην φώτο και τέλος allow.

image.png.130583af324f4949e28bb1ad15893069.png  

 

Αν τα κάνεις όλα σωστά κάθε φορά που αλλάζεις τιμή στην στήλη B θα έχεις νέα ημερομηνία στην στήλη C.

Ξέρω είναι αρκετά αλλά έτσι δουλεύει.

15 minutes ago, nikos_greece said:

αρα αν βάλω αυτών το κωδικα για τις στειλες και τα κουτιά που θέλω θα λειτουργεί ή θέλει κάποια αλλαγή ?? γιατί δεν ξέρω να γραφω κωδικα 😕

 

function onEdit(e) {
  var sheet      = e.source.getActiveSheet();
  var activeCell = sheet.getActiveCell();
  var col        = activeCell.getColumn();
  var row        = activeCell.getRow();
  if (col == 2 ) { 
    sheet.getRange(row, col+1).setValue(new Date()).setNumberFormat('MMM dd yyyy');
  }
}

το έβαλα και δούλεψε ...ευχαριστώ φιλε 

Χαίρομαι, θες να μαρκάρεις και το σωστό post σαν σωστή απάντηση 😅

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...