2009-12-10 15 views
7

मैं एक्सेल का उपयोग करने से बचने की कोशिश करता हूं, लेकिन जब मुझे लगता है कि मैं संरचित संदर्भों का उपयोग करना पसंद करता हूं क्योंकि वे लिखने के लिए बहुत साफ हैं।एक्सेल संरचित संदर्भ तालिका वाक्यविन्यास

यदि मैं कॉलम "col1" और "col2" के साथ "table1" नामक एक तालिका बनाता हूं, तो मैं किसी अन्य तालिका में संरचित संदर्भ का उपयोग करके "col1" में पहली पंक्ति का संदर्भ कैसे दूंगा? मैंने वाक्यविन्यास =table1[[#this row],[col1]] का प्रयास किया है, और बस एक त्रुटि प्राप्त करें। क्या =table1[1,1] or =table1[1,[col1]] जैसे वाक्यविन्यास हैं? बेशक, यह या तो काम नहीं करता है, लेकिन समकक्ष क्या है?

यह बहुत परेशान है, ऐसा लगता है जैसे यह सरल होना चाहिए।

उत्तर

12

Table1[[#This Row][Column1]] करता है: =SUMIFS(Table1[Amount],Table1[Type],“Check”,Table1[Account], “Utilities”)

इस लिंक अधिक जानकारी देखें काम, लेकिन फॉर्मूला उसी पंक्ति पर होना चाहिए जैसा कि तालिका पंक्ति आप संदर्भित करना चाहते हैं।

पहली पंक्ति को संदर्भित करने के लिए, कहीं और, के रूप में studgeek ने उल्लेख या तो COUNTIFS(criteria_range1, criteria1 [, criteria_rangen, criterian]) या थोड़ा और अधिक जटिल SUMIFS() उपयोग करें यदि आप गिनती के बजाय संख्यात्मक मान की जरूरत है,:

SUMIFS(sum_range1, criteria_range1, criteria1 [, criteria_rangen, criterian]) 

आप निश्चित रूप से एक अनूठा पंक्ति की आवश्यकता होगी पंक्तियों का चयन करने के लिए मानदंड। तो, उदाहरण के लिए:

Table1 
ID Value Name 
1 2  Two 
2 4  Four 
3 8  Eight 

SUMIF(Table1[Value], Table1[ID], 2) ... 4 के एक मूल्य (या शून्य यदि आईडी = 2 नहीं मिला) देता है। यदि आपका मान संख्यात्मक नहीं है, तो आप स्पष्ट रूप से इस विधि का उपयोग नहीं कर सकते हैं।

हालांकि, अकुहन ने लगभग वास्तविक जवाब मारा, लेकिन वह अपने स्पष्टीकरण/उदाहरण, आईएमओ में काफी दूर नहीं गए।

INDEX(Table1[Name], 2) रिटर्न "चार" INDEX(Table1, 1, 1) रिटर्न 1

2

=INDEX(col1,1) 

कोशिश तुम भी

=INDEX(reference,row_num,column_num) 
0

का उपयोग कर, एक 2-मंद तालिका में कोशिकाओं पता कर सकते हैं वहाँ एक में खास पंक्तियां के लिए संरचित संदर्भित का उपयोग करने का एक स्पष्ट तरीका हो प्रतीत नहीं होता है तालिका। एड्रियन कहते हैं, आप INDEX का उपयोग कर सकते हैं।

या आप उसी पंक्ति को संदर्भित करने के लिए अंतर्निहित चौराहे का उपयोग कर सकते हैं: यदि तालिका 1 पंक्ति पर है 5:10 और तालिका 2 पंक्ति 5:10 पर भी है तो कॉलम नामों के साथ एक संरचित संदर्भ का उपयोग करके एक ही पंक्ति को स्पष्ट रूप से छेड़छाड़ की जाएगी।

या आप विभिन्न पंक्तियों में एक मल्टीरो सर सरणी सूत्र के रूप में संरचित संदर्भ दर्ज कर सकते हैं (एकाधिक कक्षों का चयन करें, सूत्र दर्ज करें और Ctrl-shift-Enter का उपयोग करें) और यह काम करेगा।

0

इंडेक्स के बजाय मैं SUMIF का सुझाव दूंगा। यह आपको स्पष्ट पंक्ति संख्याओं के बजाय तालिका मानों का उपयोग करने देगा (जो फ़िल्टरिंग या ऑर्डर करने पर आप तोड़ सकते हैं)। उदाहरण (नीचे दिए गए लिंक से) के लिए, इस राशि कॉलम का योग और केवल उन पंक्तियों जहां प्रकार चेक के बराबर होती है और जहां खाता उपयोगिताएँ के बराबर होती है में शामिल हैं: http://office.microsoft.com/en-us/excel-help/using-structured-references-with-excel-tables-HA010155686.aspx

0

यह अच्छा होगा अगर एक मेज एक स्तंभ प्राथमिक कुंजी (जो संख्यात्मक या स्ट्रिंग हो सकता है) के रूप में नामित हो सकता था, और फिर एक संरचित रेफरी एक शामिल हो सकते हैं इसकी प्राथमिक कुंजी द्वारा एक पंक्ति का संदर्भ देने का तरीका।

यह VLOOKUP के आसपास वाक्यविन्यास चीनी होगा, लेकिन तालिका को पता चल सकता है कि इसे प्राथमिक कुंजी पर सॉर्ट किया गया था, और केवल उस मामले में कुशल लुकअप करें। ऐसा लगता है कि VLOOKUP इसमें बुराई एम्बेड करता है जो गलत पंक्ति को पाता है यदि आप सॉर्ट किए गए पर निर्भर करते हैं, खासकर जब टेबल पंक्तियों को सॉर्ट करने का सुविधाजनक तरीका होता है।

0

ऐसे मामलों में चाल एक्सेल OFFSET समारोह का उपयोग करने के लिए है:

  • एक ही तालिका में स्तंभ 1 नामित स्तंभ के 1 पंक्ति को एक्सेस करना: OFFSET([Column1],0,0,1)
  • तक पहुँचना 2 पंक्ति OFFSET([Column1],1,0,1)

आदि

बेशक आप इसका उपयोग टेबल नाम के साथ उपसर्ग करके अन्य तालिका और कॉलम को प्राप्त करने के लिए कर सकते हैं। उदाहरण के लिए OFFSET(Table2[Column3],4,0,1) 'तालिका 2' के कॉलम 'कॉलम 3' की चौथी पंक्ति तक पहुंच जाएगा

संबंधित मुद्दे