لماذا التفاف على صيغة صفيف Excel في SUM لا تنتج مجموع المحتويات في هذه الحالة؟

StackOverflow https://stackoverflow.com/questions/808011

  •  03-07-2019
  •  | 
  •  

سؤال

وذكي الناس،

في Excel، فإنه يبدو أن التفاف على صيغة صفيف في SUM لا تنتج مجموع محتويات مجموعة في جميع الحالات. (وهذا هو، يبدو لي؛ ومن الواضح، أنا يمكن أن يكون جيدا الخلط)

وجاء ذلك حتى عندما تحاول كتابة يعادل صلة داخلية في Excel. لأسباب تتعلق Excel ل Mac، أنا أفعل ذلك دون باستخدام Visual Basic أو MS الاستعلام: فقط الصيغ مجموعة وINDEX / MATCH. لدي، وأعتقد، نجحت، بصرف النظر عن هذا السلوك الغريب أنني في حيرة لفهم.

وأنا حاليا باستخدام حل مشكلة، ولكن سيكون من الجميل ليس لدينا ل. أي مساعدة أو مشورة موضع تقدير كبير جدا.

وفيما يلي يستنسخ المشكلة:

الجدول 1

key | fkey
----+------
  a |   x
  a |   y
  b |   x
  b |   y

الجدول 2

key | value
----+------
  x |   1
  y |  10

ويفترض تخطيط فوق لتمثيل كيفية ظهور هذه الجداول الصغيرة اثنين في جدول البيانات: لا شيء ذكي يجري. تتم تسمية النطاقات واضحة الأربعة table1.key، table1.fkey، table2.key، وtable2.value.

وهكذا، ثم، والانضمام إلى الداخلية. أود تلك القيم من الجدول رقم 2 التي تتوافق مع مفتاح محدد في الجدول رقم 1، مع انضمام على `table1.fkey = table2.key. إدخال الصيغة:

{=("a"=table1.key)*INDEX(table2.value, MATCH(table1.fkey, table2.key, FALSE))}

في اثنين خلايا عمودية يعطي النتيجة المطلوبة. وهي:

<اقتباس فقرة>
1
10

و(بارد، أم ماذا؟) وحتى الآن، وذلك على ما يرام. ولكن الآن أريد فعلا مجموع الرقمين أعلاه. ولذا فإنني ببساطة التفاف الصيغة أعلاه في SUM، ودخل النتيجة في واحدة خلية:

{=SUM(("a"=table1.key)*INDEX(table2.value, MATCH(table1.fkey, table2.key, FALSE)))}

والنتيجة؟

<اقتباس فقرة>
2

هل لديها <م> أي فكرة ما على الأرض يجري؟

وجيمس

هل كانت مفيدة؟

المحلول

والحجة ROW_NUM من INDEX لا يمكن أن يكون مجموعة عند استخدامها في صيغة خلية مجموعة واحدة. وظيفة INDEX تعود دائما 1. حاول هذا

=SUM(INDEX(table2.value,{2,1}))

ووسيعود دائما 10، لأن INDEX لن يقبل إلا العنصر الأول من الصفيف. أنا لا أعرف لماذا كانوا يعملون بشكل مختلف عن الصيغ خلية مجموعة واحدة مقابل المتعددة الخلايا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top