উত্তর:
এরকম কিছু বাস্তবায়নের এক উপায়
=VALUE(INDEX(FILTER(SPLIT(A1, " "), ISNUMBER(SPLIT(A1, " "))); 1; 1))
কিছু উদাহরণের স্ট্রিংগুলির জন্য এই সূত্রের ফলাফল নীচে দেওয়া হয়েছে।
আপনার নিজস্ব প্রয়োজন অনুসারে আপনাকে এটি সংশোধন করতে হতে পারে। "3 কাপ" এর মতো সহজ স্ট্রিংয়ের জন্য এটি বেশ ভালভাবে কাজ করা উচিত।
SPLIT(..., " ")
তার স্পেস-বিভাজিত অংশগুলিতে একটি স্ট্রিং বিভক্ত করে। আপনি স্ট্রিংয়ে আরও অক্ষর যুক্ত করতে পারেন, উদাহরণস্বরূপ " -/"
, যখনই এই অক্ষরগুলি পাওয়া যায় তখন বিভক্ত হয়ে যায়।
ISNUMBER
স্ট্রিংয়ের একটি সংখ্যা কিনা তা পরীক্ষা করে।
FILTER
অ্যারে নেয় এবং এমন দুটি ফিল্টার আউট করে যা দ্বিতীয় ফাংশনটি সন্তুষ্ট করে না, অর্থাত্ এটি এমন সমস্ত কিছু আনে যা কোনও সংখ্যা নয়।
INDEX(...; 1; 1)
অ্যারেটির প্রথম কাতারে, প্রথম কলামে মানটি দেয় (যাতে আমরা কেবল প্রথম সংখ্যাটি তালিকাভুক্ত পাই, সমস্ত সংখ্যা তালিকাভুক্ত নয়)।
VALUE
সম্ভবত প্রয়োজনীয় হবে না, তবে কেবল ভাল পরিমাপের জন্য এটি চূড়ান্ত স্ট্রিংটিকে একটি সংখ্যার মান হিসাবে রূপান্তর করে।
VALUE
...
VALUE
আমি উত্তরে যে উদাহরণ দেওয়া হয়েছে তার সবগুলিতে একটি ত্রুটি উত্থাপন করে ("কোনও সংখ্যায় ভাগ করা যায় না")।
VALUE
চাইছিলাম এটি ওপির প্রথম প্রশ্নের উত্তর এবং শিরোনামও।
একটি parseInt()
বিকল্প হ'ল:
=INT()
=SUM(ARRAYFORMULA(INT(LEFT(B1:B2, LEN(B1:B2)-5))))
LEN(B1:B2)-5
একটি সাদা স্থান অন্তর্ভুক্ত করা হয়েছে।
রেজেক্সের জন্য ভাল ব্যবহার বলে মনে হচ্ছে। উদাহরণ স্বরূপ:
E2-তে সূত্রটি কোথায়:
="="&join("+",ArrayFormula(regexreplace(B2:D2,"\D","")))
এটি সমস্ত অ সংখ্যাসূচক স্ট্রিপ দেয়, ফলাফলটি +
সংক্ষেপ করে এবং সংশোধন করে=
।
কপি / পেস্ট / মান অনুবাদ করে, এবং বলে, F2 চেপে (E2 হতে পারে) শুধু তাই আটকে দিন তারপর প্রতিস্থাপন =
সঙ্গে=
।