أحاول معرفة كيفية "تجميع حسب" القيم في جدول بيانات Excel.
في المثال التالي (هذا عبارة عن قائمة جرد أستخدمها في مطعمي :)
يوجد في أقصى يمين جدول البيانات عمود باسم تكلفة البضائع المباعة.
أود أن أكون قادرًا على التوصل إلى إجمالي عدد وحدات التحكم في الرعاية لكل فئة.
هل هذا ممكن في التفوق؟ علاوة على ذلك ، أود القيام بذلك في ورقة عمل منفصلة بحيث لا تتأثر ورقة العمل الأولى (ما هو مصور).
أيه أفكار؟
شكر!
الميزة التي تريد استخدامها هي Pivot Tables . من السهل حقًا القيام بما تريده بالضبط ببضع نقرات بمجرد معرفة كيفية استخدام هذه الميزة.
يمكنك أيضًا القيام بذلك باستخدام ميزة المجموع الفرعي.
فمثلا...
عند كل تغيير في: الفئة
استخدام وظيفة: مجموع
إضافة المجموع الفرعي إلى: تكلفة البضائع المباعة
أفترض أنك تبحث عن إجمالي COGS لحساب مثل البقالة على سبيل المثال للأسبوع 1.
sumif
هي أسهل طريقة للتوصل إلى تلك البيانات. مثال مأخوذ من صورتك:
=sumif(d2:d?,"grocery",j2:j?)
لقد وضعت علامات الاستفهام لأنني لا أستطيع رؤية الورقة كاملة. يمكنك تحديد العمود بأكمله D حيث لديك بيانات الحساب. D2 من خلال D؟ ، نفس الشيء مع عمود الاستخدام الأسبوعي J2 من خلال J ؟.
ستبحث الصيغة في العمود D للبقالة النصية ، إذا كانت موجودة ، ستضيف الخلايا الموجودة في العمود J والتي تتوافق مع أعمدة D التي تحتوي على بقالة Word. (أو أي نص تضعه في الصيغة للبحث عنه)
قد تكون الطريقة الأكثر تافهة هي عملية Excel Sort متبوعة بعملية Excel Subtotal.
إنها تعطي ما تبحث عنه دون تغيير التصميم الكامل لبياناتك كما تفعل عملية Pivot.
فرز
حاصل الجمع
في كل تغيير في الفئة (انقر فوق سهم القائمة المنسدلة وحدد هذا) استخدم الوظيفة مجموع (انقر فوق سهم القائمة المنسدلة وحدد هذا) إضافة المجموع الفرعي لـ تكلفة البيع المباع (حدد الأعمدة التي تريد تجميعها للفئات الفردية)
Click OK!
في Excel 2013 ، سيكون هناك خيار "تجميع".
انظر لقطة الشاشة أدناه ، لسوء الحظ ، إنها الألمانية - لكن الرموز ستساعدك في العثور عليها.
أفعل هذا طوال الوقت مع vba. أنا متأكد تمامًا من أنني استخدمت نفس الطريقة منذ مكتب 95 ، مع إدخال تغييرات طفيفة على موضع العمود. يمكن أن يتم ذلك بسطور أقل إذا لم تحدد المتغيرات. يمكن القيام بذلك بشكل أسرع إذا كان لديك الكثير من الخطوط التي يمكنك القيام بها أو أكثر من الأشياء التي تحتاج إلى تعريف مجموعتك بها.
لقد واجهت المواقف التي تعتمد فيها "المجموعة" على 2-5 خلايا. هذا المثال ينظر فقط إلى عمود واحد ، ولكن يمكن توسيعه بسهولة إذا كان أي شخص يأخذ الوقت الكافي للعب معه.
يفترض هذا 3 أعمدة ، ويجب عليك الفرز حسب عمود group_values. قبل تشغيل الماكرو ، حدد الخلية الأولى التي تريد مقارنتها في عمود قيم المجموعة.
'group_values ، some_number ، blank_columnToHoldSubtotals ' (الأشياء تذهب هنا) 'ملف تعريف الارتباط 1 فارغ ' ملف تعريف الارتباط 3 فارغ 'الكعكة 4 فارغة [. .____.] 'hat 0 فارغة ' hat 3 فارغة '... ' توقف
Sub Subotalal () 'يُعرّف سلسلتين وعداد المجموع الفرعي thingy تعتيم thisOne ، thatOne As String Dim subCount As Double 'نشر القيم thisOne = ActiveCell.Value thatOne = ActiveCell.Offset (1، 0) subCount = 0 "قم بإعداد حلقة ستنتقل إلى أن تصل إلى قيمة الإيقاف بينما يقارن (ActiveCell.Value <>" stop ") " قيمة الخلية بالخلية الموجودة تحتها. إذا كان (thisOne = thatOne) ثم 'إذا كانت الخلايا متساوية ، فسيتم إضافة عدد الأسطر إلى الحساب الفرعي subCount = subCount + ActiveCell.Offset (0 ، 1). القيمة عدا ذلك 'إذا كانت الخلايا غير متساوية ، تتم كتابة الحساب الفرعي وإعادة تعيين المجموع الفرعي. ActiveCell.Offset (0 ، 2) .Value = ActiveCell.Offset (0، 1) .Value + subCount subCount = 0 End If 'حدد الخلية التالية لأسفل ActiveCell.Offset (1، 0). حدد 'عيّن قيم الخلية النشطة والقائمة الموجودة تحتها إلى المتغيرات thisOne = ActiveCell.Value thatOne = ActiveCell.Offset (1، 0) Wend End Sub