এক্সেল, জটিলতা IF / ELSE / ম্যাক্রোস


0

আমি এটির জন্য পুরোপুরি আটকে আছি, আপনার সহায়তার মূল্যবান হবে! বলি আমার একটি পাওয়ার প্লান্টে 2 শিফট রয়েছে, 1 = 10 টা - সকাল 4 টা এবং শিফ্ট 2 = 8 - 4 টা - 4 টায় শিফট = সকাল 4 টা থেকে সকাল 8 টার মধ্যে প্ল্যান্টে কোনও কাজ চলছে না। সেল এ 1 = ইনবাউন্ড টাইম, সেল বি 1 = আউটবাউন্ড টাইম এবং সেল সি 1 = প্রসেসিং (বা কাজ) সময়। আমি এমন একটি সূত্র খুঁজে বের করার চেষ্টা করছি যা প্রক্রিয়াজাতকরণের সময় গণনা করতে পারে, উদাহরণস্বরূপ ইনবাউন্ড টাইম (সেল এ 2 তে) সকাল 6:00 এবং আউটবাউন্ড টাইম (সেল বি 2 তে) 15:00 হয় তারপর সেল সি 2 এ আমার প্রসেসিংয়ের সময় 6 হওয়া উচিত ।

IF((IF 4:00<A2<8:00,"0", ??)

সময়ের বাক্য গঠন আমাকে সম্পূর্ণ বিভ্রান্ত করে। আমি নেস্টেড আইএফ স্টেটমেন্ট নিয়ে ভাবছিলাম যেখানে ৪ টি কেস রয়েছে, ১) উভয় শিফ্ট রেঞ্জের মধ্যে ইনবাউন্ড এবং আউটবাউন্ড টাইম পড়বে, ২) আউটবাউন্ড রেঞ্জে নেই তবে ইনবাউন্ড, ৩) ২, ৪ এর বিপরীতে) উভয় সময় আওতার বাইরে

একইভাবে ম্যাক্রো লেখার কী হবে? (সময়ের মানগুলি সম্ভবত সর্বদা সময় হতে পারে, যেমন 2:00, 3:00, 4:00 এবং 24 ঘন্টা ঘড়ির বিন্যাসে)। আমি ভেরিয়েবলগুলি সংজ্ঞায়িত করেছি এবং আমি মনে করি একটি পদ্ধতি ইনবাউন্ড এবং আউটবাউন্ডের ঘড়ির ঘন্টা দেখানোর জন্য তবে আমি আটকে আছি

sub time() 
dim inbound as string 
dim outbound as string 
dim processing as string 
inbound = Thisworkbook.Sheets("Sheet1").Range("A:A").Value 
outbound = Thisworkbook.Sheets("Sheet1").Range("B:B").Value 
processing = Thisworkbook.Sheets("Sheet1").Range("C:C").Value 
IF Len(inbound) = 2 Then 
   inbound = "00:" & inbound 
ELSEIF Len(inbound) = 3 Then 
   inbound = "0" & Left(inbound,1) & ":" & Right(inbound,2) 
ELSEIF Len(inbound) = 4 Then inbound = Left(val,2) & ":" & Right  (inbound,2)  
ELSE inbound = "Not a valid time"

(আউটবাউন্ডের জন্য পরে অন্য বিবৃতি যদি একই হয়)

আপনার সহায়তার প্রশংসা করা হবে দয়া করে!


আমাদের দয়া করে নমুনা ডেটা দিতে আপনার প্রশ্নটি সম্পাদনা করতে পারেন ?
cybernetic.nomad

আপনার ব্যাখ্যা বুঝতে আমার সমস্যা হচ্ছে। "ইনবাউন্ড টাইম" এবং "আউটবাউন্ড টাইম" কী এবং কীভাবে "প্রসেসিং টাইম" তাদের এবং শিফ্ট শিডিয়ুলের সাথে সম্পর্কিত? আপনার কোড এক ঝলকে আমাকে বলে যে এটা এমনকি কিছু সংশ্লিষ্ট করার চেষ্টা করে না সমাধানে সমস্যা। (এই প্রসঙ্গে, আমি সমস্যা সমাধানের পদক্ষেপ হিসাবে ইনপুটটির বৈধতা, প্রস্তুতি এবং প্রাক-প্রক্রিয়াজাতিকে বিবেচনা করি না)) আপনি যদি আমাদের প্রতিটিটির একটি বা দুটি (বা তিন বা চার) উদাহরণ দেখান তবে এটি সাহায্য করতে পারে আপনার চারটি কেস … (চালিয়ে যাওয়া)
স্কট

(চালিয়ে যাওয়া) ... আপনি যদি এক সময়ের ফর্ম্যাটটি বেছে নিয়ে এবং ধারাবাহিকভাবে এটি ব্যবহার করেন তবে সম্ভবত এটি সহায়তা করবে। আমি 24 ঘন্টা সময় প্রস্তাব; সুতরাং শিফট 1 হ'ল 2200-0400, ইত্যাদি I আমি আপনার চারটি মামলার প্রতিটিটির জন্য একাধিক উদাহরণ প্রস্তাব করি কারণ, আপনার পরীক্ষাগুলি ছাড়াও আমাদের মধ্যরাতের আগে এবং মধ্যরাতের পরে বারের উদাহরণগুলি দেখতে হবে। এবং ব্যাখ্যা! আপনি কীভাবে 6:00 → 15:00 = 6 ঘন্টা পান? পিএস আপনার শিফটগুলি কি আসলেই আলাদা দৈর্ঘ্য?
স্কট

উত্তর:


0

এই সূত্রটি গতকাল কাজ শেষ হওয়ার পরে এবং আজ সম্পূর্ণ হওয়া কাজগুলিকে অন্তর্ভুক্ত করে। এছাড়াও 15: 00-8: 00 = 7 ঘন্টা, নয় 6. একটি মধ্যাহ্নভোজন আছে কি?

=(IF(VALUE(A1)>VALUE("16:00"),VALUE("24:00")-IF(VALUE(A1)<VALUE("22:00"),VALUE("22:00"),VALUE(A1)),0)+IF(VALUE(B1)>VALUE("16:00"),VALUE("16:00"),VALUE(B1))-IF(VALUE(A1)<VALUE("8:00"),VALUE("8:00"),VALUE(A1))+IF(VALUE(A1)<VALUE("4:00"),VALUE("4:00")-VALUE(A1),0))*24

0

বেশ কয়েকটি গণনা কোষ থাকা সম্ভবত সবচেয়ে সহজ।

ডাউনটাইম দিয়ে E2নিম্ন পাশের ওভারল্যাপটি তৈরি করুন A2:=MIN(MAX(A2,"4:00"),"8:00")

ডাউনটাইম দিয়ে F2নিম্ন পাশের ওভারল্যাপটি তৈরি করুন B2:=MAX(MIN(B2,"8:00"),"4:00")

তারপরে গণনাটি C2সোজা:=B2-A2-(F2-E2)

উদাহরণ স্বরূপ:

| |   A   |   B   |   C   |   D   |   E   |   F   |
|1|  In   |  Out  |  Work |       |  Min  |  Max  |
|2|  6:00 | 10:00 |   2h  |       |  6:00 |  8:00 |
|3|  9:00 | 10:00 |   1h  |       |  8:00 |  8:00 |
|4|  2:00 | 10:00 |   4h  |       |  4:00 |  8:00 |
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.