باستخدام VLOOKUP في صيغة صفيف على جوجل جداول البيانات

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

  •  09-06-2019
  •  | 
  •  

سؤال

فعالية أريد أن أعطي رقمي عشرات أبجدية درجات المبلغ لهم.في Excel ، ووضع LOOKUP وظيفة في صيغة صفيف يعمل:

{=SUM(LOOKUP(grades, scoringarray))}

مع VLOOKUP وظيفة هذه لا تعمل (فقط يحصل على النتيجة الصف الأول).جوجل جداول البيانات لا تظهر لديهم LOOKUP وظيفة VLOOKUP فشل في بنفس الطريقة باستخدام:

=SUM(ARRAYFORMULA(VLOOKUP(grades, scoresarray, 2, 0)))

أو

=ARRAYFORMULA(SUM(VLOOKUP(grades, scoresarray, 2, 0)))

هل من الممكن أن تفعل هذا (ولكن لدي جملة خاطئة)?يمكن أن تشير إلى طريقة تسمح وجود حساب في أحد خلية بسيطة مثل هذا بدلا من إخفاء عمليات البحث في مكان آخر و تلخيص لهم بعد ذلك ؟

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

المحلول 3

ما زلت لا أستطيع رؤية الصيغ في المثال الخاص بك (فقط القيم), ولكن هذا هو بالضبط ما أحاول القيام به من حيث النتيجة ؛ من الواضح أستطيع أن أفعل ذلك "جانب" و مبلغ على حدة - المفتاح بالنسبة لي هو يفعل ذلك في خلية واحدة.

لقد بحثت في ذلك مرة أخرى هذا الصباح - استخدام MATCH وظيفة البحث يعمل في صيغة صفيف.ولكن بعد ذلك INDEX وظيفة لا.كما أنني حاولت استخدامه مع OFFSET و INDIRECT من دون نجاح.أخيرا ، CHOOSE وظيفة لا يبدو أن يقبل خلية مجموعة قائمة للاختيار من بينها - مجموعة يحط على قيمة واحدة (الخلية الأولى في النطاق).كما تجدر الإشارة إلى أن CHOOSE وظيفة يقبل فقط 30 القيم للاختيار من بينها (حسب الوثائق).كل شيء مزعج جدا.ومع ذلك فأنا الآن قد حل العاملة في خلية واحدة:باستخدام CHOOSE وظيفة صراحة قائمة نتيجة الخلايا واحدا تلو الآخر في الحجج مثل هذا:

=ARRAYFORMULA(SUM(CHOOSE(MATCH(D1:D8,Lookups!$A$1:$A$3,0),
                                     Lookups!$B$1,Lookups!$B$2,Lookups!$B$3)))

ومن الواضح أن هذا لا يمتد بشكل جيد جدا ولكن نأمل أن جداول البحث بطبيعتها ثابتة تماما.أكبر بحث الجداول انها الألم إلى نوع كل الخلايا بشكل فردي و بعض الناس قد يتجاوز حدود 30 الخلايا.

أنا بالتأكيد نرحب حل أكثر أناقة!

نصائح أخرى

أخشى أن أعتقد أن الجواب هو لا.من نص التعليمات على http://docs.google.com/support/spreadsheets/bin/answer.py?answer=71291&query=arrayformula&topic=&type=

القوة الحقيقية ARRAYFORMULA يأتي عندما كنت تأخذ النتيجة من واحدة من تلك الحسابات والتفاف داخل صيغة لا تأخذ مجموعة أو مجموعة من الحجج:SUM, MAX, MIN, سلسل,

كما vlookup يأخذ خلية واحدة إلى بحث (في الحجة الأولى) أنا لا أعتقد أنك يمكن أن تحصل على عمل ، دون استخدام منفصلة مجموعة من عمليات البحث.

جوجل جداول البيانات لا تظهر لديهم وظيفة البحث

ويفترض لم يكن ثم ولكن لديها الآن:

SO27774 example

grades Sheet1!A2:A4
scoringarray Sheet1!A2:B4

أعلم أن هذا الموضوع قديم جدا, ولكن كنت تعاني نفس هذه المشكلة لبعض الوقت.وأخيرا جاء عبر حل (حسنا ، Frankenstiened واحد معا).انها فقط قليلا أكثر أناقة ، ولكن ينبغي أن تكون قادرة على العمل مع مجموعات البيانات الكبيرة دون عناء.

الحل يستخدم التالية:

=ARRAYFORMULA(SUM(INDIRECT(ADDRESS(MATCH(), MATCH())))

كبديل الدالة vlookup.

آمل أن يساعد هذا شخص!

يمكنك القيام بذلك بسهولة مثل هذا من قبل hardcoding في VR الجدول:

=SUM(IFERROR(ARRAYFORMULA(VLOOKUP(A2:A, {{"A", 6};
                                         {"B", 5};
                                         {"C", 4};
                                         {"D", 3};
                                         {"E", 2};
                                         {"F", 1}}, 2, 0)), ))

0

أو يمكنك استخدام بعض الجانب الخلايا مع القواعد:

=SUM(IFERROR(ARRAYFORMULA(VLOOKUP(A2:A, E2:F, 2, 0)), ))

6


البدائل: https://webapps.stackexchange.com/a/123741/186471

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