نطاق حساب القيم الفريدة في عمود في Excel




كيفية حساب عدد مرات تواجد رقم أو نص في نطاق في excel (9)

لدي ملف .xls مع عمود يحتوي على بعض البيانات. كيف أحسب عدد القيم الفريدة التي تحتوي على هذا العمود؟

لقد غوغل العديد من الخيارات ، ولكن الصيغ التي يقدمونها هناك تعطيني دائمًا بعض الأخطاء. فمثلا،

=INDEX(List, MATCH(MIN(IF(COUNTIF($B$1:B1, List)=0, 1, MAX((COUNTIF(List, "<"&List)+1)*2))*(COUNTIF(List, "<"&List)+1)), COUNTIF(List, "<"&List)+1, 0))

عائدات


أستخدم جدولًا يحتوي على رؤوس في الصف الأول ، والبيانات في الصفوف 2 وما دونها.

توجد أرقام التعريف في العمود A. لحساب عدد القيم المختلفة التي أضعها لهذه الصيغة من الصف 2 إلى نهاية جدول بيانات أول عمود متاح [F في حالتي]: "=IF(A2=A1,F1+1,1)" .

ثم أستخدم الصيغة التالية في خلية مجانية: "=COUNTIF(F:F,1)" . وبهذه الطريقة ، أنا متأكد من أن كل رقم يتم حسابه.

يرجى ملاحظة أنه يجب فرز الأرقام ، وإلا فسيتم عدها أكثر من مرة ... لكن بخلاف صيغ الصفيف ، يكون الأمر سريعًا جدًا حتى مع جدول بيانات مكون من 150000 صف.


إذا كنت تستخدم جهاز Mac

  1. تظليل العمود
  2. نسخ
  3. فتح terminal.app
  4. اكتب pbpaste|sort -u|wc -l

يقوم مستخدمو Linux باستبدال pbpaste بـ xclip xsel أو ما شابه

بالنسبة لمستخدمي نظام تشغيل Windows ، فمن الممكن ، ولكن قد يستغرق بعض البرمجة النصية ... ابدأ بـ http://brianreiter.org/2010/09/03/copy-and-paste-with-clipboard-from-powershell/


مجموعة البيانات الخاصة بي هي D3: D786 ، عناوين الأعمدة في D2 ، تعمل في D1. الصيغة ستتجاهل القيم الفارغة.

= SUM (IF (FREQUENCY (IF (SUBTOTAL (3، أوفست (D3، ROW (D3: D786) -ROW (D3) ،، 1))، IF (D3: D786 <> ""، MATCH ( "~" & D3 : D786، D3: D786 & ""، 0)))، ROW (D3: D786) -ROW (D3) +1)، 1))

عند إدخال الصيغة ، CTRL + SHIFT + ENTER

لقد وجدت هذا في الموقع أدناه ، وهناك المزيد من التوضيحات هناك حول Excel لم أفهم ، إذا كنت في هذا النوع من الأشياء.

http://www.mrexcel.com/forum/excel-questions/553903-count-unique-values-filtered-column.html#post2735467

لقد قمت بنسخ مجموعة البيانات ولصقها في ورقة مختلفة للتحقق من ذلك ، وقد نجحت في ذلك.


لحساب عدد القيم المختلفة في A2: A100 (بدون حساب الفراغات):

=SUMPRODUCT((A2:A100<>"")/COUNTIF(A2:A100,A2:A100&""))

تم النسخ من إجابة بواسطة @ Ulli Schmid إلى ما هي صيغة COUNTIF () هذه؟ :

=SUMPRODUCT((A1:A100<>"")/COUNTIF(A1:A100,A1:A100&""))

تحسب الخلايا الفريدة داخل A1: A100 ، باستثناء الخلايا الفارغة والأخرى ذات السلسلة الفارغة ("").

كيف يفعل ذلك؟ مثال:

A1:A100 = [1, 1, 2, "apple", "peach", "apple", "", "", -, -, -, ...]
then:
A1:A100&"" = ["1", "1", "2", "apple", "peach", "apple", "", "", "", "", "", ...]

لذلك هناك حاجة إلى هذا "" لتحويل الخلايا الفارغة (-) إلى سلاسل فارغة (""). إذا كنت ترغب في العد مباشرة باستخدام الخلايا الفارغة ، فستُرجع الدالة COUNTIF () 0. باستخدام الخدعة ، يتم حساب كل من "" و "" على النحو نفسه:

COUNTIF(A1:A100,A1:A100) = [2, 2, 1, 2, 1, 2, 94, 94, 0, 0, 0, ...]
but:
COUNTIF(A1:A100,A1:A100&"") = [2, 2, 1, 2, 1, 2, 94, 94, 94, 94, 94, ...]

إذا أردنا الآن الحصول على عدد جميع الخلايا الفريدة ، باستثناء الفراغات و "" ، يمكننا تقسيمها

(A1:A100<>""), which is [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ...]

من خلال نتائجنا المتوسطة ، COUNTIF (A1: A100 ، A1: A100 & "") ، وجمع القيم.

SUMPRODUCT((A1:A100<>"")/COUNTIF(A1:A100,A1:A100&""))  
= (1/2 + 1/2 + 1/1 + 1/2 + 1/1 + 1/2 + 0/94 + 0/94 + 0/94 + 0/94 + 0/94 + ...)
= 4

لو استخدمنا COUNTIF(A1:A100,A1:A100) بدلاً من COUNTIF(A1:A100,A1:A100&"") ، فإن بعض تلك 0/94 كان 0/0. نظرًا لعدم السماح بالتقسيم على الصفر ، فقد نكون قد أخطأنا.


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


عد فريدة مع شرط. يعتبر الكود " A معرّفًا A كود الحالة ID=32 ، والعنوان " B هو الاسم ونحن نحاول حساب الأسماء الفريدة لمعرف معين

=SUMPRODUCT((B2:B12<>"")*(A2:A12=32)/COUNTIF(B2:B12,B2:B12))

طريقة أخرى صعبة وقعت لي للتو (اختبارها وعملها!).

  • حدد البيانات في العمود
  • في القائمة ، حدد Conditional Formatting ، Highlight Cells ، Duplicate Values
  • حدد ما إذا كنت تريد تحديد قيم فريدة أو مكررة.
  • احفظ التمييز
  • اختر البيانات
  • اذهب إلى Data ثم Filter

تصفية على أساس اللون:

باعتراف الجميع ، هذا أكثر بالنسبة لفحوصات البيانات مرة واحدة من جدول البيانات الذي ستستخدمه كثيرًا ، نظرًا لأنه يتطلب بعض تغييرات التنسيق.



يمكنك القيام بالخطوات التالية:

  1. أولاً قم بفصل العمود (عن طريق إدراج عمود فارغ قبل و / أو بعد العمود الذي تريد حساب القيم الفريدة إذا كان هناك أي أعمدة متجاورة ؛

  2. ثم حدد العمود بالكامل ، وانتقل إلى "البيانات"> "تصفية متقدمة" وتحقق من خانة الاختيار "سجلات فريدة فقط". سيؤدي هذا إلى إخفاء جميع السجلات غير الفريدة حتى تتمكن من حساب السجلات الفريدة عن طريق تحديد العمود بالكامل.





unique