2015-06-16 8 views
8

कहें कि मेरे पास यह नाम सीमा है, ए 1 पर नहीं।Google स्प्रेडशीट्स: किसी श्रेणी से पहली (एनटी) पंक्ति/कॉलम कैसे प्राप्त करें? (अंतर्निहित फ़ंक्शंस)

 idz01 idz04 ida02 
foo  a  1  b 
bar  c  3  8 
baz  8  2  g 

अब मैं पहली पंक्ति कैसे प्राप्त कर सकता हूं? और एनटी पंक्ति? और कैसे एनएच कॉलम? अंतर्निहित कार्यों का उपयोग करके, एक सीमा के रूप में।

संपादित करें: वां पंक्ति: =OFFSET(ObjednavkyData, N,0, 1) अंतिम पंक्ति:

=OFFSET(ObjednavkyData, 
    MAX(ARRAYFORMULA(ROW(ObjednavkyData)))-ROW(ObjednavkyData), 0, 1 
) 
+0

क्या आप पहले कॉलम और पहली पंक्ति को उस फ़ॉर्मूला के साथ उपयोग करने के लिए एक सीमा के रूप में प्राप्त करने का प्रयास कर रहे हैं [http://stackoverflow.com/questions/30809066/google-spreadsheets-function-to-get-a-cell-a-range-by-row-and-col-name)? –

उत्तर

1

आंशिक जवाब: (अभी भी बेहतर लोगों के लिए खुला)

1 ली पंक्ति

OFFSET(Data, 0 , 0, 1) 

पहला कॉलम:

आप बस सीमा पर कुछ फ़ंक्शंस कॉल कर सकते हैं डी वे 1 कॉलम लेते हैं।
या, यदि आवश्यक हो तो:

OFFSET(Data, 0, 0, MAX(ARRAYFORMULA(ROW(Data))), 1) 

वां पंक्ति:
कुंजी है कि यहाँ OFFSET() केवल सही और नीचे भरता है। तो आपको केवल इन दिशाओं को इसके पैरामीटर से फसल करने की आवश्यकता है।

OFFSET(Data, N, 0, 1); 

भी ARRAYFORMULA() करने के लिए और प्रत्येक स्तंभ (सेल) के लिए पहली पंक्ति खिला द्वारा प्राप्त किया जा सकता है, INDEX(COLUMN(),ROW() + N) का उपयोग कर अंतिम पंक्ति के सेल मिलता है।

वां स्तंभ:

ऊपर करने के लिए इसी तरह

, केवल आप पंक्तियों की संख्या प्राप्त करने की आवश्यकता।

OFFSET(Data, 0, N, ROWS(Data), 1); 

मैं TRANSPOSE() साथ खेल रहा था लेकिन लगता है कि OFFSET() यह अच्छी तरह से पचा नहीं करता है।

0

प्रथम पंक्ति:

=INDIRECT(COLUMN(data)&":"&COLUMN(data)) 

प्रथम स्तंभ:

=INDIRECT(CHAR(64+COLUMN(data))&":"&CHAR(64+COLUMN(data))) 

n'th पंक्ति:

=INDIRECT(COLUMN(data)+N&":"&COLUMN(data)+N) 

n'th स्तंभ:

=INDIRECT(CHAR(64+COLUMN(data)+N)&":"&CHAR(64+COLUMN(data)+N)) 

डेटा में आवश्यक पंक्ति/कॉलम के साथ अपनी डेटा रेंज और एन के साथ डेटा का चयन करें। पंक्ति/कॉलम की गणना 0 से शुरू की जाती है। आप N-1 का उपयोग करके उस खरीद को बदल सकते हैं।

आप वास्तविक सीमा प्राप्त करना चाहते हैं (ए: एक, 1: 1, ए 3: ए 3) मान के स्थान पर, बस इन सूत्रों

आशा में अप्रत्यक्ष से छुटकारा ged इस

में मदद करता है
11

बस INDEX समारोह का उपयोग करें:

=INDEX(NamedRange1,NRow,NColumn) 

आप पिछले पंक्ति और स्तंभ चाहते हैं तो आप उपयोग कर सकते हैं:

=INDEX(NamedRange1,ROWS(NamedRange1),COLUMNS(NamedRange1)) 
  • INDEX विकल्प OFFSET और INDIRECT कि अस्थिर हैं की तुलना में अधिक प्रभावी है।

उदाहरण:

=INDEX(ObjednavkyData,3,2) //This will return "c". 
=INDEX(ObjednavkyData,ROWS(ObjednavkyData),COLUMNS(ObjednavkyData2)) //This will return "g". 

अलावा:

आप पूरी पंक्ति प्राप्त करना चाहते हैं, तो आप सूचकांक समारोह की [कॉलम] भाग को छोड़ सकते हैं। और यदि आपको पूरे कॉलम की आवश्यकता है, तो [पंक्ति] भाग को छोड़ दें।

=INDEX(ObjednavkyData,3) //This will return row 3: "bar  c  3  8". 
+3

मुझे विश्वास है कि वह पूरे कॉलम/पंक्ति को खींचने की कोशिश कर रहा है, सिर्फ एक सेल नहीं। वह उन्हें [इंडेक्स] के रूप में इंडेक्स के साथ उपयोग करना चाहता है [http://stackoverflow.com/questions/30809066/google-spreadsheets-function-to-get-a-cell-from-a-range-by-row-and -col-name) –

+0

ठीक है, मुझे पूरी पंक्ति या कॉलम चाहिए। मैं 'INDEX()' और 'MATCH()' का उपयोग करके अन्य प्रश्न में कार्य को संभवतः हल कर सकता हूं। लेकिन इसके लिए मुझे अभी भी पहली पंक्ति को लुकअप के साथ खोजने के लिए, किसी भी तरह की आवश्यकता होगी। –

+0

यदि आप INDEX फ़ंक्शन के [कॉलम] भाग को छोड़ देते हैं तो आपको पूरी पंक्ति मिल जाएगी। मैं इसे उत्तर में जोड़ दूंगा। – dePatinkin

0

मैं एक वैकल्पिक पद्धति है, वह भी अस्थिर अनाम पर्वतमाला के साथ काम करता प्रस्ताव करने के लिए चाहते हैं (अन्य कार्यों से जैसे उत्पादन ही नहीं, पर्वतमाला कि स्प्रेडशीट पर मौजूद हैं।) सामान्य विचार के रूप में फिल्टर() का उपयोग करने के लिए है निष्कर्षों का तंत्र, और सच्चे/झूठे मूल्यों के वेक्टर का निर्माण करने के लिए जो पंक्तियों को निकालने के संकेतक के रूप में बनाते हैं। तो उदाहरण के लिए, यदि स्रोत A1 श्रेणी है: D13 और मैं पंक्ति 7 निकालना चाहते हैं, मैं

=filter(
    A1:D13, 
    {transpose(split(rept("0 ", 6), " ")); 
    1; 
    transpose(split(rept("0 ", rows(A1:D13)-7), " ")) 
    } 
) 

लिखते थे आप देख सकते हैं, यह भी कहीं से भी पंक्तियों के किसी भी संख्या को निकालने के लिए सामान्यीकरण करने के लिए आसान है। सामान्य शब्दों में इस तरह के सूत्र का निर्माण करें:

=filter(
    <data>, 
    {transpose(split(rept("0 ", <number rows to skip from the start>), " ")); 
    transpose(split(rept("1 ", <number of rows to extract>), " ")); 
    transpose(split(rept("0 ", <number of rows to skip until the end), " ")) 
    } 
) 
संबंधित मुद्दे