Gå til hovedindhold

Hvordan slettes alle rækker, der indeholder specifik tekst i en kolonne i Google-ark?

Antag, du har en række data i et google-ark. Nu vil du gerne slette rækkerne baseret på celleværdier i en kolonne. For eksempel vil jeg slette alle rækker, der indeholder teksten "Komplet" i kolonne C. Denne artikel vil jeg tale om, hvordan man løser det i Google-ark.

Slet alle rækker, der indeholder specifik tekst i en kolonne med scriptkode


Slet alle rækker, der indeholder specifik tekst i en kolonne med scriptkode

For at fjerne alle rækker, der indeholder den specifikke tekst i en kolonne, kan følgende scriptkode gøre dig en tjeneste, gør venligst som dette:

1. Klik Værktøjer > Script editor, se skærmbillede:

doc slet rækker, der indeholder 1

2. I det nye åbnede kodevindue skal du kopiere og indsætte følgende kode i det tomme kodevindue, se skærmbillede:

function deleteRows() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('delete containing');
  var r = s.getRange('C:C');
  var v = r.getValues();
  for(var i=v.length-1;i>=0;i--)
    if(v[0,i]=='Complete')
      s.deleteRow(i+1);
};

doc slet rækker, der indeholder 2

Bemærk: I ovenstående kode, “sletning indeholdende”Er arknavnet, der indeholder de data, du vil slette,“C: C"Er kolonnen med den specifikke tekst, du vil slette fra,"Komplet”Er den specifikke tekst, som du vil slette rækker baseret på, skal du ændre dem til dit behov.

3. Gem derefter denne kode, og klik derefter på Kør knap i kodevinduet for at udføre denne scriptkode, se skærmbillede:

doc slet rækker, der indeholder 3

4. Og alle rækker, der indeholder den specifikke tekst "Komplet", er blevet slettet på én gang, se skærmbillede:

doc slet rækker, der indeholder 4


Slet alle rækker, der indeholder specifik tekst i Excel-regneark:

Hvis du vil fjerne alle rækker, der indeholder en bestemt værdi i en kolonne, vises Kutools til Excel's Vælg specifikke celler funktionen kan hjælpe dig med at vælge alle rækker, der matcher kriterierne, og så skal du bare slette rækkerne på én gang.

doc slet rækker, der indeholder 5

Kutools til Excel: med mere end 300 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 30 dage. Download og gratis prøveversion nu!

Bedste kontorproduktivitetsværktøjer

🤖 Kutools AI Aide: Revolutionér dataanalyse baseret på: Intelligent udførelse   |  Generer kode  |  Opret brugerdefinerede formler  |  Analyser data og generer diagrammer  |  Aktiver Kutools funktioner...
Populære funktioner: Find, fremhæv eller identificer dubletter   |  Slet tomme rækker   |  Kombiner kolonner eller celler uden at miste data   |   Runde uden formel ...
Super opslag: VLookup med flere kriterier    Multiple Value VLookup  |   VOpslag på tværs af flere ark   |   Fuzzy Lookup ....
Avanceret rulleliste: Opret hurtigt rulleliste   |  Afhængig rulleliste   |  Multivælg rulleliste ....
Column Manager: Tilføj et bestemt antal kolonner  |  Flyt kolonner  |  Skift synlighedsstatus for skjulte kolonner  |  Sammenlign områder og kolonner ...
Fremhævede funktioner: Grid fokus   |  Designvisning   |   Stor Formel Bar    Arbejdsbog & Ark Manager   |  Ressourcebibliotek (Autotekst)   |  Datovælger   |  Kombiner regneark   |  Krypter/Dekrypter celler    Send e-mails efter liste   |  Superfilter   |   Specielt filter (filter fed/kursiv/gennemstreget...) ...
Top 15 værktøjssæt12 tekst Værktøjer (tilføje tekst, Fjern tegn, ...)   |   50 + Chart Typer (Gantt kort, ...)   |   40+ Praktisk formler (Beregn alder baseret på fødselsdag, ...)   |   19 Indsættelse Værktøjer (Indsæt QR-kode, Indsæt billede fra sti, ...)   |   12 Konvertering Værktøjer (Tal til ord, Valutaomregning, ...)   |   7 Flet og del Værktøjer (Avancerede kombinere rækker, Opdel celler, ...)   |   ... og mere

Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid.  Klik her for at få den funktion, du har mest brug for...

Beskrivelse


Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
Comments (16)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
This formula work for all column A and check all cells that contain some text > 0 and delete only the rows that contain some text in cells > 0

function deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Sheet_name_here);
var r = s.getRange('A:A');
var v = r.getValues();
for(var i=v.length-1;i>=0;i--)
if(v[0,i]>'0')
s.deleteRow(i+2);
};
Rated 5 out of 5
This comment was minimized by the moderator on the site
Bonjour, j'aime beaucoup ce script. Moi je cherche un script qui permet de supprimer automatiquement tous les éléments ou contenus d'une colonne après chaque 1 min. Pas supprimer la colonne, mais le contenu de la colonne. Pouvez vous m'aider ?
This comment was minimized by the moderator on the site
How can I make this more versatile?

LEt's say that I create a list of blacklisted words in Sheet1 and I want to delete all the rows in Sheet2 that contain that words in column A. I'm totally stuck on this on Google Sheets
This comment was minimized by the moderator on the site
Any luck with this??
This comment was minimized by the moderator on the site
I fixed this for myself using the following.
The reason it is not working is because the v returns an array with only one item [0]
I also used Javascript .includes() so that you can delete records that "Contain" that text.


function deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('default');
var r = s.getRange('A:A');
var v = r.getValues();
for(var i=v.length-1;i>=1;i--)
if(v[i][0].includes("appleid.com")) {
console.log('deleted row ' + v[i][0]);
s.deleteRow(i+1);
}
};
This comment was minimized by the moderator on the site
Thank you so much. Works great for me
This comment was minimized by the moderator on the site
Great job, working seamlessly.
This comment was minimized by the moderator on the site
Figured it out, but having trouble making it work for larger sheets since it's exceeding maximum runtime. Basically, the data that was being returned for 'v' was an 'object' type so you had to JSON.stringify() it first in order to detect values.
<div data-tag="code">function deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('REPLACE WITH NAME OF SHEET');
var r = s.getRange('C:C'); // Replace 'C:C' to be the column you want to replace like start:end
var v = r.getValues();
for(var i=v.length-1;i>=0;i--) {
if(JSON.stringify(v[i]).includes('REPLACE WITH THE CHAR YOU WANT TO REPLACE')) {
s.deleteRow(i+1);
}
}
};
This comment was minimized by the moderator on the site
Why use the comma operator in v[0,i] ?
This comment was minimized by the moderator on the site
This seems to work only if a cell contains only the text specified. I want to delete rows with cells that contain other text including the text specific. I have a bunch of email addresses and want to be rid of rows containing Gmail addresses, therefore I'm looking for cells containing 'gmail.com'.

No luck here.
This comment was minimized by the moderator on the site
Replace this line: if(v[0,i]=='Complete')
With this: if(v[0,i].indexOf('gmail') > -1)
This comment was minimized by the moderator on the site
Doesn't work for me, either.
This comment was minimized by the moderator on the site
I tried that. It's still not working.
This comment was minimized by the moderator on the site
Hello,
Can modify the below code to delete the coloured row instead of text


function deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('delete containing');
var r = s.getRange('C:C');
var v = r.getValues();
for(var i=v.length-1;i>=0;i--)
if(v[0,i]=='Complete')
s.deleteRow(i+1);
};
This comment was minimized by the moderator on the site
Hello,
Can I modify the below code to delete a coloured cell instead of specific text:


function deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('delete containing');
var r = s.getRange('C:C');
var v = r.getValues();
for(var i=v.length-1;i>=0;i--)
if(v[0,i]=='Complete')
s.deleteRow(i+1);
};
This comment was minimized by the moderator on the site
Does nothing at all, not sure how to fix this.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations