سؤال

ولدي إكسل ورقة

والشرط هو لتلخيص الأرقام في الخلايا في العمود 'C' ووضع القيمة في الخلية المقابلة في العمود 'B' (في بلدي على سبيل المثال 0.25 + 1 + 0.25 + 1 = 2.5).

والقيم في العمود 'C' قد تتغير. والشرط هو لتحديث القيمة في 'B' في أقرب وقت الخلية في العمود التغييرات "C".

وأنا يطلب الخالق لتغيير النص والأرقام في عمودين مختلفة ولكن هذا أمر غير مقبول بسبب قالب قياسي.

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

المحلول

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

1 - Tokenize محتوى الخلية بالكامل، وتخزين الرموز في مجموعة سلسلة

.

وهناك مشكلة بالفعل. النص الموجود داخل الخلية يتعارض بشكل صارخ. لديك -250 مللي ثانية، - 250 مللي ثانية، - 1sec و، - 1 ثانية. ونتيجة لهذا، وأنت تسير في حاجة للتحقق من كل حالة. لذلك، لا يمكن أن تحقق فقط إذا كانت القيمة هي العدد، تحتاج إلى تحقق من كل التباديل أن أعضاء فريقك قدمت مريح بالنسبة لك.

وأفضل طريقة للقيام بذلك سيكون للتحقق ضد التعبير العادية. لذلك، يجب أن يكون رقم 2:

2 - تحقق من كل قيمة لمعرفة ما إذا كان يتطابق مع واحدة من العديد من 4 التعبير العادية

و3 - اعتمادا على التعبيرات المنتظمة يطابق مع استخراج القيمة العددية

وأ) إذا كان مجرد قيمة (ie-> 250)، معرفة ما اذا كان مللي ثانية أو العائدات القيمة. IF مللي ثانية، تقسم العدد من 1000. إذا ثانية، ترك رقم كما هو. إضافة رقم إلى المجموع.
ب) إذا كان عدد يسبقه شرطة (-)، وإزالة اندفاعة، وكرر الخطوة)
ج) إذا كان عدد تليها الرسائل، وإزالة الرسائل وكرر الخطوة)
د) إذا كان عدد تليها فترة، لا تفعل شيئا. هذا هو النقطة.

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