यदि एक ही कॉलम में डुप्लिकेट मान है तो मैं Google स्प्रेडशीट हाइलाइट सेल के लिए सूत्र ढूंढ रहा हूं
क्या कोई इस क्वेरी के लिए मेरी सहायता कर सकता है?
यदि एक ही कॉलम में डुप्लिकेट मान है तो मैं Google स्प्रेडशीट हाइलाइट सेल के लिए सूत्र ढूंढ रहा हूं
क्या कोई इस क्वेरी के लिए मेरी सहायता कर सकता है?
जवाबों:
इसे इस्तेमाल करे:
Custom formula is
=countif(A:A,A1)>1
(या A
अपने चुने हुए कॉलम में परिवर्तन करें)A1:A100
) पर लागू होती है ।A1 में लिखी गई कोई भी चीज़: A100 कोशिकाओं की जाँच की जाएगी, और यदि कोई डुप्लिकेट है (एक से अधिक बार होता है) तो यह रंगीन होगा।
,
दशमलव विभाजक के रूप में अल्पविराम ( ) का उपयोग करने वाले स्थानों के लिए , तर्क विभाजक सबसे अधिक संभावना एक अर्ध-उपनिवेश ( ;
) है। यही है, कोशिश करें: =countif(A:A;A1)>1
इसके बजाय।
कई कॉलम के लिए, का उपयोग करें countifs
।
;
मेरे लिए "अमान्य सूत्र" त्रुटि के अंतिम परिणाम। बस इसे हटाकर चाल चली गई। इसके अलावा सावधान रहें: आप जिस सेल को 2 के तर्क के रूप में निर्दिष्ट करते हैं countif
, वह आपके द्वारा चुनी गई सीमा का पहला सेल होना चाहिए।
=countif(B:B,B2)>1
। यह पूर्ण बनाम सापेक्ष सेल संदर्भों का उपयोग करते समय किसी को बहुत उन्नत स्वरूपण करने की अनुमति देता है।
जबकि ज़ोल्ले का जवाब सवाल के लिए पूरी तरह से सही है, यहाँ किसी भी सीमा के लिए एक अधिक सामान्य समाधान है, साथ ही स्पष्टीकरण:
=COUNTIF($A$1:$C$50, INDIRECT(ADDRESS(ROW(), COLUMN(), 4))) > 1
कृपया ध्यान दें कि इस उदाहरण में मैं सीमा का उपयोग करूंगा A1:C50
। पहले पैरामीटर ( $A$1:$C$50
) को उस सीमा के साथ प्रतिस्थापित किया जाना चाहिए जिस पर आप डुप्लिकेट को उजागर करना चाहते हैं!
डुप्लिकेट को उजागर करने के लिए:
Format
>Conditional formatting...
Apply to range
, उस सीमा का चयन करें, जिस पर नियम लागू किया जाना चाहिए।Format cells if
, Custom formula is
ड्रॉपडाउन पर चुनें ।यह काम क्यों करता है?
COUNTIF(range, criterion)
, की हर कोशिका की तुलना करेंगे range
करने के लिए criterion
है, जो फार्मूले की तरह ही संसाधित किया जाता है। यदि कोई विशेष ऑपरेटर प्रदान नहीं किया जाता है, तो यह दिए गए सेल के साथ सीमा में प्रत्येक सेल की तुलना करेगा, और नियम से मेल खाने वाली कोशिकाओं की संख्या लौटाएगा (इस मामले में, तुलना)। हम एक निश्चित सीमा ( $
संकेतों के साथ ) का उपयोग कर रहे हैं ताकि हम हमेशा पूरी सीमा देखें।
दूसरा ब्लॉक, INDIRECT(ADDRESS(ROW(), COLUMN(), 4))
वर्तमान सेल की सामग्री लौटाएगा। यदि इसे सेल के अंदर रखा जाता है, तो डॉक्स परिपत्र निर्भरता के बारे में रोया होगा, लेकिन इस मामले में, सूत्र का मूल्यांकन किया जाता है जैसे कि यह सेल में था, इसे बदले बिना।
ROW()
और क्रमशः दिए गए सेल COLUMN()
की पंक्ति संख्या और कॉलम संख्या वापस कर देगा । यदि कोई पैरामीटर प्रदान नहीं किया गया है, तो वर्तमान सेल लौटा दी जाएगी (यह 1-आधारित है, उदाहरण के लिए, B3
3 के लिए लौटेगा ROW()
, और 2 के लिए COLUMN()
)।
फिर हम उपयोग करते हैं: ADDRESS(row, column, [absolute_relative_mode])
एक सेल संदर्भ के लिए संख्यात्मक पंक्ति और स्तंभ का अनुवाद करने के लिए (जैसे B3
, याद रखें, जब हम सेल के संदर्भ में होते हैं, तो हमें पता नहीं है कि यह पता या सामग्री है, और हमें इसकी तुलना करने के लिए सामग्री की आवश्यकता है)। तीसरा पैरामीटर स्वरूपण की देखभाल करता है, और 4
स्वरूपण INDIRECT()
पसंद लौटाता है ।
INDIRECT()
, सेल संदर्भ लेगा और उसकी सामग्री लौटाएगा। इस मामले में, वर्तमान सेल की सामग्री। फिर शुरू करने के लिए, COUNTIF()
हमारे खिलाफ हर रेंज में परीक्षण करेंगे, और गिनती वापस करेंगे।
अंतिम चरण हमारे सूत्र को एक बूलियन लौटा रहा है, इसे एक तार्किक अभिव्यक्ति बनाकर COUNTIF(...) > 1
:। इसका > 1
उपयोग किया जाता है क्योंकि हम जानते हैं कि हमारे समान कम से कम एक सेल है। यह हमारी कोशिका है, जो कि सीमा में है, और इस प्रकार इसकी तुलना खुद से की जाएगी। तो एक डुप्लिकेट को इंगित करने के लिए, हमें अपने मेल खाने वाले 2 या अधिक कोशिकाओं को खोजने की आवश्यकता है।
सूत्रों का कहना है:
*
) और दूसरा चेक बनाने के लिए है, इसलिए की तर्ज पर ((COUNTIF(...))*(NOT(ISBLANK(INDIRECT(...current cell...)))))
। मैं मोबाइल पर सबसे अच्छा कर सकता हूं। :)
$A$1:$C$50
- प्रश्न के तहत कॉलम के अनुसार। मैं इस तरह के अधिक सामान्य दृष्टिकोण को जौली की तुलना में अधिक पसंद करता हूं।
@Zolley का उत्तर सही है। बस एक Gif जोड़ने और संदर्भ के लिए कदम।
Format > Conditional formatting..
Format cells if..
=countif(A:A,A1)>1
फ़ील्ड में जोड़ेंCustom formula is
A
अपने कॉलम के साथ पत्र को बदलें ।"टेक्स्ट कॉन्टेन्स" ड्रॉपडाउन मेनू से "कस्टम फॉर्मूला है:" का चयन करें, और लिखें: "= countif (A: A, A1)> 1" (बिना उद्धरण के)
मैंने बिल्कुल वैसा ही किया जैसा कि ज़ॉले ने प्रस्तावित किया था , लेकिन इसमें छोटे सुधार किए जाने चाहिए: "टेक्स्ट कॉन्टेन्स " के बजाय "कस्टम फॉर्मूला" का उपयोग करें । और फिर सशर्त प्रतिपादन काम करेगा।
Text Contains
, इसलिए उपयोगकर्ता ड्रॉपडाउन मेनू तक पहुंचने के लिए आमतौर पर क्लिक करता है।
=COUNTIF(C:C, C1) > 1
स्पष्टीकरण: C1
यहाँ सी में पहली पंक्ति का संदर्भ नहीं दिया गया है। क्योंकि इस फॉर्मूले का मूल्यांकन एक सशर्त प्रारूप नियम द्वारा किया जाता है, इसके बजाय, जब यह देखने के लिए कि यह लागू होता है, तो सूत्र की जाँच की जाती है, C1
प्रभावी रूप से पंक्ति में वर्तमान में मूल्यांकन किया जा रहा है। देखें कि क्या हाइलाइट लागू किया जाना चाहिए। ( तो यह अधिक पसंद है INDIRECT(C &ROW())
, अगर आपके लिए इसका मतलब है! )। अनिवार्य रूप से, एक सशर्त प्रारूप सूत्र का मूल्यांकन करते समय, पंक्ति 1 को संदर्भित करने वाली किसी भी चीज़ का मूल्यांकन उस पंक्ति के विरुद्ध किया जाता है, जो सूत्र के विरुद्ध चल रही है। ( और हां, यदि आप C2 का उपयोग करते हैं, तो आप नियम को वर्तमान में मूल्यांकन किए जा रहे नीचे पंक्ति की स्थिति की जांच करने के लिए कह रहे हैं। )
तो यह कहता है, जो कुछ भी है C1
(वर्तमान सेल का मूल्यांकन किया जा रहा है) की घटनाओं को गिनें जो पूरे कॉलम में हैं C
और यदि उनमें से 1 से अधिक है (यानी मान में डुप्लिकेट है) तो: हाइलाइट लागू करें ( क्योंकि सूत्र , कुल मिलाकर, मूल्यांकन करता हैTRUE
)।
=AND(COUNTIF(C:C, C1) > 1, COUNTIF(C$1:C1, C1) = 1)
स्पष्टीकरण: यह केवल हाइलाइट है यदि दोनों COUNTIF
s TRUE
(वे अंदर दिखाई देते हैं AND()
)।
मूल्यांकन किया जाने वाला पहला शब्द (a COUNTIF(C:C, C1) > 1
) पहले उदाहरण के समान सटीक है; यह TRUE
केवल तभी है जो कुछ भी C1
एक डुप्लिकेट में है। ( याद रखें कि C1
प्रभावी ढंग से संदर्भित वर्तमान पंक्ति को यह देखने के लिए जांचा जा रहा है कि क्या इसे हाइलाइट किया जाना चाहिए )।
दूसरा शब्द ( COUNTIF(C$1:C1, C1) = 1
) समान दिखता है लेकिन इसके तीन महत्वपूर्ण अंतर हैं:
यह पूरे कॉलम को नहीं खोजता है C
(जैसे पहले वाला करता C:C
है:), लेकिन इसके बजाय यह पहली पंक्ति से खोज शुरू करता है: C$1
( $
यह शब्द पंक्ति में शाब्दिक रूप से देखने के लिए है 1
, जो भी पंक्ति का मूल्यांकन नहीं किया जा रहा है)।
और फिर यह वर्तमान पंक्ति में मूल्यांकन का मूल्यांकन रोक देता है C1
।
अंत में यह कहता है = 1
।
तो, यह केवल तभी होगा TRUE
जब वर्तमान में मूल्यांकन की जाने वाली पंक्ति के ऊपर कोई डुप्लिकेट नहीं हैं (इसका अर्थ है कि यह डुप्लिकेट में से पहला होना चाहिए)।
उस पहले शब्द के साथ संयुक्त (जो केवल तभी होगा TRUE
जब इस पंक्ति में डुप्लिकेट है) इसका मतलब केवल पहली घटना को उजागर किया जाएगा।
=AND(COUNTIF(C:C, C1) > 1, NOT(COUNTIF(C$1:C1, C1) = 1), COUNTIF(C1:C, C1) >= 1)
स्पष्टीकरण: पहली अभिव्यक्ति हमेशा की तरह ही होती है ( TRUE
यदि वर्तमान में मूल्यांकन की गई पंक्ति बिल्कुल एक डुप्लिकेट है)।
दूसरा शब्द बिलकुल पिछले के समान है, सिवाय इसके कि यह नकारात्मक है: इसके NOT()
चारों ओर यह है। तो यह पहली घटना को नजरअंदाज करता है।
अंत में तीसरा शब्द 2, 3 डुप्लिकेट उठाता है, COUNTIF(C1:C, C1) >= 1
वर्तमान में मूल्यांकन की गई पंक्ति ( C1
में C1:C
) पर खोज रेंज शुरू करता है । तब यह केवल इस पर मूल्यांकन करता है TRUE
(हाइलाइट लागू करें) यदि इस एक (या इस एक सहित) के नीचे एक या अधिक डुप्लिकेट हैं: >= 1
(यह >=
सिर्फ नहीं होना चाहिए >
अन्यथा अंतिम डुप्लिकेट को अनदेखा किया जाता है)।
मैंने सभी विकल्पों की कोशिश की और कोई भी काम नहीं किया।
केवल Google ऐप स्क्रिप्ट्स ने मेरी मदद की।
स्रोत: https://ctrlq.org/code/19649-find-duplicate-rows-in-google-sheets
अपने दस्तावेज़ के शीर्ष पर
1.- टूल्स> स्क्रिप्ट एडिटर पर जाएं
2.- अपनी स्क्रिप्ट का नाम सेट करें
3.- इस कोड को पेस्ट करें:
function findDuplicates() {
// List the columns you want to check by number (A = 1)
var CHECK_COLUMNS = [1];
// Get the active sheet and info about it
var sourceSheet = SpreadsheetApp.getActiveSheet();
var numRows = sourceSheet.getLastRow();
var numCols = sourceSheet.getLastColumn();
// Create the temporary working sheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
var newSheet = ss.insertSheet("FindDupes");
// Copy the desired rows to the FindDupes sheet
for (var i = 0; i < CHECK_COLUMNS.length; i++) {
var sourceRange = sourceSheet.getRange(1,CHECK_COLUMNS[i],numRows);
var nextCol = newSheet.getLastColumn() + 1;
sourceRange.copyTo(newSheet.getRange(1,nextCol,numRows));
}
// Find duplicates in the FindDupes sheet and color them in the main sheet
var dupes = false;
var data = newSheet.getDataRange().getValues();
for (i = 1; i < data.length - 1; i++) {
for (j = i+1; j < data.length; j++) {
if (data[i].join() == data[j].join()) {
dupes = true;
sourceSheet.getRange(i+1,1,1,numCols).setBackground("red");
sourceSheet.getRange(j+1,1,1,numCols).setBackground("red");
}
}
}
// Remove the FindDupes temporary sheet
ss.deleteSheet(newSheet);
// Alert the user with the results
if (dupes) {
Browser.msgBox("Possible duplicate(s) found and colored red.");
} else {
Browser.msgBox("No duplicates found.");
}
};
4.- बचाओ और भागो
3 सेकंड से भी कम समय में, मेरी डुप्लिकेट पंक्ति रंगीन थी। बस स्क्रिप्ट को कॉपी-पेस्ट करें।
यदि आप Google ऐप्स स्क्रिप्ट के बारे में नहीं जानते हैं, तो यह लिंक आपकी मदद कर सकते हैं:
https://zapier.com/learn/google-sheets/google-apps-script-tutorial/
https://developers.google.com/apps-script/overview
आशा है कि ये आपकी मदद करेगा।
=COUNTIFS(A:A; A1; B:B; B1)>1