मैं क्रमिक आवृत्तियों की संख्या कैसे गिनूं?


3

मेरे पास एक एक्सेल फाइल है जिस पर मैंने एक ऑपरेशन किया है। मेरे पास अब एक कॉलम है जो 1 या 0 मान से आबाद है।

"1" की संख्या को गिनने के लिए मुझे क्या करने की आवश्यकता है जो लगातार अनुक्रम में दिखाई देते हैं।

मेरी सरणी इस तरह दिखती है:
1
0
0
0
1
1
1
1
1
0 0
1
1
0

मुझे जो निकालने में सक्षम होना चाहिए वह यह है कि हमने 5 1 का रन देखा और फिर 2 1 का रन लिया। मैं उसको कैसे करू?


2
सुपरस्टार में आपका स्वागत है। अपने प्रश्न की गुणवत्ता में सुधार के लिए, कृपया हमारे साथ साझा करें जो आपने पहले ही प्रयास किया है। यह पूछना आपके लिए उपयोगी हो सकता है कि कैसे पूछें । शीर्षक प्रश्न में टैग की आवश्यकता नहीं है और न ही पाठ के शरीर में आवश्यक सलाम है।
चार्लीआरबी

जवाबों:


1

यह सुरुचिपूर्ण नहीं है, लेकिन यह काम करेगा:

आपके '1' और '0' के कॉलम के बाद,

अपना दूसरा स्तंभ बनाएं:

0
=(A2+B1)*A2  <-- You can just drag-fill this downward
=(A3+B2)*A3
=(A4+B3)*A4
.
.
.

... और तीसरा स्तंभ बनाएं:

0
=SUMIF(B3,0,B2)  <-- You can just drag-fill this downward as well
=SUMIF(B4,0,B3)
=SUMIF(B5,0,B4)
.
.
.

3 कॉलम प्रत्येक समूह में '1' की संख्या दिखाएगा, जिसमें रन में अंतिम '1' के साथ योग होगा।


0

COUNTIF फ़ंक्शन का उपयोग करके आप किसी दिए गए रेंज में विशिष्ट मानदंडों की घटनाओं को गिनने के लिए एक्सेल को बता सकते हैं।

COUNTIF(range,criteria)

कहते हैं कि आपका डेटा कॉलम A और पंक्ति 1 में 13 के माध्यम से है, आप निम्न संख्या का उपयोग करने के लिए "1" होता है।

=COUNTIF(A1:A13, 1)

सीमा को उस श्रेणी में समायोजित करें जिसे आप गिनना चाहते हैं और जो आप गिनना चाहते हैं उसके मापदंड।


मैं गलत हो सकता है, लेकिन मुझे यकीन नहीं है कि यह वही है जो ओपी देख रहा है। जिस तरह से मैं इसे समझता हूं, कोशिकाओं की एक मनमानी श्रेणी को देखते हुए, मूल्यों की एक निरंतर श्रृंखला की लंबाई निर्धारित करें - 1 इस मामले में। मुझे लगता है कि उसे इसके लिए वीबीए की आवश्यकता है - मैं इसे पायथन में कर सकता हूं, लेकिन मुझे यकीन नहीं है कि एक्सेल (
वीबीए के

मैटडामो - आपके पास यह सही है। मुझे यह जानने की जरूरत नहीं है कि कुल कितने 1 हैं, बस प्रत्येक लगातार ब्लॉक में कितने बैठते हैं। मुझे लगता है कि मुझे एक पूर्व सहकर्मी याद आ रहा है। यह अक्षम्य होगा, लेकिन मुझे लगता है कि मैं 5, 6, 7, 8 आदि के ब्लॉक का परीक्षण कर सकता हूं ...
टोनी

मेरी गलती। मुझे गलत समझा गया कि क्या पूछा जा रहा है।
चार्लीआरबी

0

मुझे भी ऐसी ही समस्या का समाधान करना पड़ा था। मेरा दृष्टिकोण बदसूरत और अक्षम था, लेकिन इसने काम किया।

मैंने एक दूसरा कॉलम बनाया, जिसमें यह देखा गया था कि क्या आसन्न सेल वैल्यू वह थी जो मैं देख रहा था, और यदि ऐसा है, तो सेल में दिए गए सेल के मान को 0 से अधिक नंबर दें।

मैंने एक तीसरा कॉलम बनाया, जहां प्रत्येक सेल ने कॉलम 2 में आसन्न सेल को देखा, और यदि मान इसके नीचे वाले से अधिक था, तो सेल के पंक्ति तक तीसरे कॉलम में 0+ का अधिकतम मूल्य देने के लिए। । यदि नहीं, तो यह एक खाली मान छोड़ देता है ("") इस तरह मैं एक अनुक्रमिक पहचानकर्ता संख्या डालने में सक्षम था।

मैंने एक चौथा स्तंभ बनाया, जहां स्तंभ 3 में आसन्न सेल को देखा, और यदि स्तंभ 2 से उस पंक्ति का मान रखने के लिए, रिक्त को छोड़कर कोई भी मान था।

मैंने तब एक पांचवां स्तंभ बनाया, जो 1 से शुरू हुआ, और प्रत्येक पंक्ति पिछली पंक्ति की तुलना में एक अधिक थी, जो कॉलम 3 से अधिकतम मान तक थी।

मैं छठा स्तंभ बनाकर समाप्त हुआ, जिसमें लुकअप फंक्शन का उपयोग किया गया था। लुकअप मान कॉलम 5 में आसन्न सेल होगा। रेंज 3 कॉलम होगा और 4. मुझे लगता है कि यह कॉलम 4 के मूल्य से बाहर होगा।

मैं एक रन के रूप में समान मूल्यों के अनुक्रम को परिभाषित करता हूं। स्तंभ 5 पर प्रत्येक संख्या एक रन का प्रतिनिधित्व करती है। कॉलम 6 में प्रत्येक संख्या उस रन के आकार का प्रतिनिधित्व करती है। यह आपको प्रत्येक रन के आकार को उत्पन्न करने की अनुमति देता है।

जैसा मैंने कहा, यह इस बारे में जाने के लिए एक बदसूरत तरीका है, और शायद वीबीए में बहुत क्लीनर लिखा जा सकता है, लेकिन यह प्रभावी है।


0

इसे लगातार संख्याओं की गिनती के रूप में मत सोचो। इसे पहले 0 की स्थिति ज्ञात करने के रूप में सोचें।

= मैच (0, A1: A14,0) -1

सूत्र को नीचे खींचें, जैसे-जैसे आप नीचे खींचते हैं, रेंज समायोजित होती है। यह आपको डेटा में किसी भी बिंदु पर एक पंक्ति में 1 की संख्या देगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.