Excel - ماكرو لفرز التواريخ وإزالة التكرارات
القضية
لنفترض أن لدي قائمة بجميع الوصفات التي حصلنا عليها لهذا العام.
- يتم إنشاء صف جديد لكل دواء.
- يُظهر العقيد A التاريخ ، ويُظهر العمود ب اسم الصيدلة ، العمود C الدواء.
إذا كنت قد التقطت أكثر من دواء واحد في رحلة إلى إحدى الصيدليات ، فسوف يعرض طاولتي صفوفًا متعددة لها نفس التاريخ ونفس اسم الصيدلية ، مع تغيير اسم الدواء فقط في تلك الصفوف.
أريد أن أحسب عدد المرات التي ذهبت فيها إلى كل صيدلية. ستعمل وظيفة العد البسيطة ، إلا إذا حصلنا على أدوية متعددة في ذلك اليوم ، فقد تقوم (العد) بإدراج الصيدلية 3 مرات (واحدة لكل صف - تذكر أن كل صف يسرد دواء واحد فقط) وفي العمود (أ) سوف يسرد في نفس التاريخ ثلاث مرات. لذلك عندما ذهبت في الواقع مرة واحدة فقط ، قد ترجع إجابة 3 ، إذا كنت فقط أحسب العمود بأسماء الصيدلية.
فكيف يمكنني حساب عدد المرات التي ذهبت فيها إلى CVS (على سبيل المثال التخلص من التواريخ المكررة المدرجة في العمود A ، لتلك الصيدلية عندما التقطت المزيد من الدواء في تلك الرحلة .. ستكون وظيفة قد تؤدي إلى إعادة حساب اسم الصيدلية هذا ، فقط إذا كان تاريخًا فريدًا لم يتم حسابه من قبل.
حل
انت تستطيع فعل ذالك :
- 1. حدد النطاق الذي سيتم فيه تواريخ رحلتك كتواريخ (في نموذج الملف الذي سيبدأ من الخلية E29)
- 2. اسم النطاق حيث يكون اسم الصيدليات PHARMA. (في ملف العينة الذي سيبدأ من الخلية F29)
- 3 بمجرد القيام بذلك ، انتقل إلى القائمة التي توجد بها أسماء الأدوية. بناءً على نموذج الملف الخاص بك ، أدخل الصيغة الموضحة أدناه في الخلية F13. حول الصيغة بمجرد لصق الصيغة ، فمن الأهمية بمكان ألا تضغط على enter بل تضغط PRESS CTRL + SHIFT + ENTER في الوقت نفسه. إذا كنت قد فعلت ذلك بشكل صحيح ، يجب أن تلاحظ في شريط الصيغة صيغته في {}. تعتمد الصيغة أدناه على كتابك النموذجي
= SUM (IF (FREQUENCY (IF ((LEN (التواريخ & PHARMA) * * (PHARMA = E13))>> 0 ، تطابق (التواريخ و PHARMA ، التواريخ و PHARMA ، 0) ، "") ، IF ((LEN (التواريخ PHARMA) * (PHARMA = E13))> 0 ، تطابق (التواريخ و PHARMA ، التواريخ و PHARMA ، 0) ، ""))> 0،1،0))
في الصيغة أدناه E13 كان الصف الأول في كتابك النموذجي. بمجرد لصقك ثم الضغط على CTRL + SHIFT + ENTER ، اسحبه لأسفل لتغطية بقية فارما
لاحظ أن
بفضل rizvisa1 لهذه النصيحة في المنتدى.