Deleting Rows in Google Sheets when data only repeats in Column A











up vote
0
down vote

favorite












Using Google Sheets I have almost finished a macro to create heatsheets for swim meets, but I am having trouble getting rid of the duplicate names. The data only repeats in Column A, but I want to delete the entire row when Column A does have a repeat. So in the example below I need to delete Row 3, Row 7, and Row 8.



Name         IM
James Smith 47.7
James Smith 48.27
Sally Baker 53.76
Katie Jones 57.63
Advay Shah 58.15
Sally Baker 58.65
Katie Jones 59.52


I am using the following lines of code (the spacing is wrong because I struggled with pasting into the post), but it's not doing anything when I run the macro. Obviously I have something incorrect.



  function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var newData = ;
for (i in data) {
var row = data[i];
var duplicate = false;
for (j in newData) {
if (row.join() == newData[j].join()) {
duplicate = true;
}
}
if (!duplicate) {
newData.push(row);
}
}
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}









share|improve this question






















  • You want to remove the duplicated name. When there are the duplicated names, you want to leave the 1st one. If my understanding is correct, how about modifying from if (row.join() == newData[j].join()) { to if (row[0] == newData[j][0]) {? 0 of row[0] and newData[j][0] means the column "A".
    – Tanaike
    2 days ago












  • For the heats to generate correctly, the entire row which contains the duplicated names has to be deleted, but yes it has to leave the first occurrence of the name. I will give that a shot!
    – reylequan
    yesterday










  • Thank you for replying. I'm glad your issue was solved.
    – Tanaike
    yesterday















up vote
0
down vote

favorite












Using Google Sheets I have almost finished a macro to create heatsheets for swim meets, but I am having trouble getting rid of the duplicate names. The data only repeats in Column A, but I want to delete the entire row when Column A does have a repeat. So in the example below I need to delete Row 3, Row 7, and Row 8.



Name         IM
James Smith 47.7
James Smith 48.27
Sally Baker 53.76
Katie Jones 57.63
Advay Shah 58.15
Sally Baker 58.65
Katie Jones 59.52


I am using the following lines of code (the spacing is wrong because I struggled with pasting into the post), but it's not doing anything when I run the macro. Obviously I have something incorrect.



  function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var newData = ;
for (i in data) {
var row = data[i];
var duplicate = false;
for (j in newData) {
if (row.join() == newData[j].join()) {
duplicate = true;
}
}
if (!duplicate) {
newData.push(row);
}
}
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}









share|improve this question






















  • You want to remove the duplicated name. When there are the duplicated names, you want to leave the 1st one. If my understanding is correct, how about modifying from if (row.join() == newData[j].join()) { to if (row[0] == newData[j][0]) {? 0 of row[0] and newData[j][0] means the column "A".
    – Tanaike
    2 days ago












  • For the heats to generate correctly, the entire row which contains the duplicated names has to be deleted, but yes it has to leave the first occurrence of the name. I will give that a shot!
    – reylequan
    yesterday










  • Thank you for replying. I'm glad your issue was solved.
    – Tanaike
    yesterday













up vote
0
down vote

favorite









up vote
0
down vote

favorite











Using Google Sheets I have almost finished a macro to create heatsheets for swim meets, but I am having trouble getting rid of the duplicate names. The data only repeats in Column A, but I want to delete the entire row when Column A does have a repeat. So in the example below I need to delete Row 3, Row 7, and Row 8.



Name         IM
James Smith 47.7
James Smith 48.27
Sally Baker 53.76
Katie Jones 57.63
Advay Shah 58.15
Sally Baker 58.65
Katie Jones 59.52


I am using the following lines of code (the spacing is wrong because I struggled with pasting into the post), but it's not doing anything when I run the macro. Obviously I have something incorrect.



  function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var newData = ;
for (i in data) {
var row = data[i];
var duplicate = false;
for (j in newData) {
if (row.join() == newData[j].join()) {
duplicate = true;
}
}
if (!duplicate) {
newData.push(row);
}
}
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}









share|improve this question













Using Google Sheets I have almost finished a macro to create heatsheets for swim meets, but I am having trouble getting rid of the duplicate names. The data only repeats in Column A, but I want to delete the entire row when Column A does have a repeat. So in the example below I need to delete Row 3, Row 7, and Row 8.



Name         IM
James Smith 47.7
James Smith 48.27
Sally Baker 53.76
Katie Jones 57.63
Advay Shah 58.15
Sally Baker 58.65
Katie Jones 59.52


I am using the following lines of code (the spacing is wrong because I struggled with pasting into the post), but it's not doing anything when I run the macro. Obviously I have something incorrect.



  function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var newData = ;
for (i in data) {
var row = data[i];
var duplicate = false;
for (j in newData) {
if (row.join() == newData[j].join()) {
duplicate = true;
}
}
if (!duplicate) {
newData.push(row);
}
}
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}






google-apps-script google-sheets






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 2 days ago









reylequan

11




11












  • You want to remove the duplicated name. When there are the duplicated names, you want to leave the 1st one. If my understanding is correct, how about modifying from if (row.join() == newData[j].join()) { to if (row[0] == newData[j][0]) {? 0 of row[0] and newData[j][0] means the column "A".
    – Tanaike
    2 days ago












  • For the heats to generate correctly, the entire row which contains the duplicated names has to be deleted, but yes it has to leave the first occurrence of the name. I will give that a shot!
    – reylequan
    yesterday










  • Thank you for replying. I'm glad your issue was solved.
    – Tanaike
    yesterday


















  • You want to remove the duplicated name. When there are the duplicated names, you want to leave the 1st one. If my understanding is correct, how about modifying from if (row.join() == newData[j].join()) { to if (row[0] == newData[j][0]) {? 0 of row[0] and newData[j][0] means the column "A".
    – Tanaike
    2 days ago












  • For the heats to generate correctly, the entire row which contains the duplicated names has to be deleted, but yes it has to leave the first occurrence of the name. I will give that a shot!
    – reylequan
    yesterday










  • Thank you for replying. I'm glad your issue was solved.
    – Tanaike
    yesterday
















You want to remove the duplicated name. When there are the duplicated names, you want to leave the 1st one. If my understanding is correct, how about modifying from if (row.join() == newData[j].join()) { to if (row[0] == newData[j][0]) {? 0 of row[0] and newData[j][0] means the column "A".
– Tanaike
2 days ago






You want to remove the duplicated name. When there are the duplicated names, you want to leave the 1st one. If my understanding is correct, how about modifying from if (row.join() == newData[j].join()) { to if (row[0] == newData[j][0]) {? 0 of row[0] and newData[j][0] means the column "A".
– Tanaike
2 days ago














For the heats to generate correctly, the entire row which contains the duplicated names has to be deleted, but yes it has to leave the first occurrence of the name. I will give that a shot!
– reylequan
yesterday




For the heats to generate correctly, the entire row which contains the duplicated names has to be deleted, but yes it has to leave the first occurrence of the name. I will give that a shot!
– reylequan
yesterday












Thank you for replying. I'm glad your issue was solved.
– Tanaike
yesterday




Thank you for replying. I'm glad your issue was solved.
– Tanaike
yesterday

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53402419%2fdeleting-rows-in-google-sheets-when-data-only-repeats-in-column-a%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53402419%2fdeleting-rows-in-google-sheets-when-data-only-repeats-in-column-a%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Berounka

Different font size/position of beamer's navigation symbols template's content depending on regular/plain...

Sphinx de Gizeh