Czesc,
mam skrypt do arkuszy Google, ktory działla prawie tak jak chce. Sprawdza wartość komórki i jesli wystepuje znak "P"
, zwraca mi zawartosc poprzedniej komórki.
Problem polega na tym, ze mam do odczytania 3 kolumny: C
, H
i M
. Skrypt czyta kolumne C
i przeskakuje do kolumny H
, ale w kolumnie H
nie zaczyna czytać od pierwszego wiersza tylko zaczyna od wiersza kolejnego po ktorym skonczyl w kolumnie C.
function WstawWartosci() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var arkusze = ss.getSheets(); // Pobierz wszystkie arkusze w skoroszycie
// Znajdź indeks arkusza "Status P" i usuń go z listy
var indexStatusP = arkusze.findIndex(function(arkusz) {
return arkusz.getName() === "Status P";
});
if (indexStatusP !== -1) {
arkusze.splice(indexStatusP, 1);
}
// Wyczyść kolumnę E w arkuszu "Status P"
var StatusP = ss.getSheetByName("Status P");
if (StatusP) {
StatusP.getRange("E:E").clear();
}
// Iteruj przez pozostałe arkusze
var rowCounter = 1; // Licznik wierszy w arkuszu "Status P"
for (var i = 0; i < arkusze.length; i++) {
var arkusz = arkusze[i];
var dane = arkusz.getDataRange().getValues();
for (var j = 0; j < dane.length; j++) {
if (dane[j][2] == "P") { // Sprawdź, czy w kolumnie C jest litera "P"
if (StatusP) {
StatusP.getRange(rowCounter, 5).setValue(dane[j][1]); // zwraca Kolumne B,
rowCounter++;
}
} else if (dane[j][7] == "P") { // Sprawdź, czy w kolumnie H jest litera "P"
if (StatusP) {
StatusP.getRange(rowCounter, 5).setValue(dane[j][6]); // zwraca Kolumne B
rowCounter++;
}
} else if (dane[j][12] == "P") { // Sprawdź, czy w kolumnie M jest litera "P"
if (StatusP) {
StatusP.getRange(rowCounter, 5).setValue(dane[j][11]); // zwraca Kolumne B
rowCounter++;
}
}
}
}
}