এক্সেল ফাংশন যা কোনও স্ট্রিংকে মূল্যায়ন করে যেন এটি কোনও সূত্র?


26

ধরুন আমার কাছে কোনও পাঠ্য স্ট্রিং রয়েছে যেমন "11+5"বা "=11+5"কোনও ঘরেও সঞ্চিত। এক্সেলে এমন কোনও ফাংশন আছে যা আমাকে সেই স্ট্রিংটি মূল্যায়নের জন্য অনুমতি দেবে যেন এটি কোনও সূত্র?

এটি অন্য একটি প্রকল্পের জন্য সহায়ক হবে যেখানে আমি এক্সেলে 'ডায়নামিক' সূত্র লিখতে সক্ষম হতে চাই।


3
এক্সেলের এই মূল্যায়ন () ফাংশনটি ছিল যা এটি ঠিক এটি করে। যদিও এটি অনেক আগে ছিল এবং আমি নতুন এক্সেল সম্পর্কে খুব বেশি নিশ্চিত নই। চারপাশে ঝাঁকুনি এবং দেখুন আমি কি সমতুল্য কিছু পেতে পারি কিনা Will
করুড়িয়া

1
এই ফাংশনটি পরিচিত বলে মনে হচ্ছে, তবে আমি অবশ্যই এটি Excel2007 এ খুঁজে পাচ্ছি না, যা আমি বর্তমানে ব্যবহার করছি।
drapkin11

আমি এটি পাই না হয় = /
এউকিরিয়া

উত্তর:


26

EVALUATE সমস্ত বর্তমান সংস্করণে ভিবিএতে উপলব্ধ

আপনি এটি আপনার ভিবিএ কোডের মধ্যে অন্তর্ভুক্ত করতে পারেন, বা একটি ওয়ার্কশিট ফাংশন হিসাবে উপলব্ধ করার জন্য এটিকে একটি সাধারণ ইউডিএফ-এ মুড়িয়ে রাখতে পারেন

Function ev(r As Range) As Variant
    ev = Evaluate(r.Value)
End Function

এটি মূলত উত্তীর্ণ প্যারামিটারের মানটিকে একটি এক্সেল সূত্র হিসাবে বিবেচনা করে, যেমন এটি কোনও ঘরে প্রবেশ করানো হয়েছিল

"11+5"এবং "=11+5"একই ফলাফল উত্পাদন করবে


1
আমি এক্সেল-ধন্যবাদগুলিতে ব্যবহারকারী-সংজ্ঞায়িত ফাংশনগুলি সম্পর্কে সব ভুলে গেছি।
drapkin11

আমি স্ট্রিংয়ে রেঞ্জের প্যারামিটার পরিবর্তন করে একটি ছোট পরিবর্তন করেছি এবং এটি আমার পক্ষে সুন্দর রূপে কাজ করে। ধন্যবাদ
মাকাহ

17
=evaluate(put_reference[s]_here)

এটি একটি সেমিফংশন - এটি কেবল নেম ম্যানেজারে ব্যবহার করা যেতে পারে।

এভাবে আপনি এটি ব্যবহার করতে পারেন:

  • একটি ঘরে নির্দেশ করুন এবং আপনি নাম পরিচালক খুলুন (ফোরামাস ট্যাব থেকে বা CTRL + F3 ক্লিক করে)

    উদাহরণ মূল্যায়ন করুন

  • আপনি =evaluate(যে ঘরে চান সেটি লিখুন এবং ক্লিক করুন (আপেক্ষিক রেফারেন্স রাখা ভাল)।

  • সূত্রটি দিয়ে শেষ করুন )
  • এটি একটি নাম দিন - (এই উদাহরণে আমি কেবল এটি কল করব eva)।
  • ঠিক আছে ক্লিক করুন ।

এখন, ধরা যাক আপনি বি 1 নির্বাচন করেছেন এবং এগুলি A1 এ উল্লেখ করেছেন। এ 1 এ আপনি " 1 + 1 " রাখতে পারেন এবং বি 1 তে আপনি লিখতে পারেন =eva- একবার আপনি ENTER চাপলে , বি 1 মান হবে 2। নেম ম্যানেজারের রেফারেন্সটি আপেক্ষিক হিসাবে, আপনি =evaযেখান থেকে চান সেখান থেকে যে কোনও একক সেলটি মূল্যায়ন করতে ব্যবহার করতে পারেন । (উদাঃ B2 এ, =evaঘর A2 এর ফলাফলটি ফেরত দেবে)


1
খুব ভাল - এবং জেনে ভাল লাগল। এমনকি এটি একটি টেবিল কলামের জন্যও কাজ করে: = মূল্যায়ন (টেবিলের নাম [@ [কলাম]]) আপনি খুব বেশি এক্সেল সহায়তা- বা উন্নত টিউটোরিয়াল সহজেই খুঁজে পেতে পারেন না
পাসচি

1
... এবং যথারীতি এক্সেল সূত্রগুলির সাথে, যদি আপনি কোনও স্থানীয় বিল্ড ব্যবহার করেন তবে আপনাকে স্থানীয় ফাংশনটি ব্যবহার করতে হবে - যেমন এক্সেল 2016 ডি এ বলা হয়=auswerten(...)
কিউইভিংস

6

@ কারেল এবং @ লরেন্টিও মিরিকার দুর্দান্ত উত্তরের সাথে একটি গুরুত্বপূর্ণ সতর্কতা রয়েছে: রেফারেন্সড সেলটি পরিবর্তন না করা হলে মূল্যায়ন ফাংশনটি পুনরায় গণনা করা যাবে না। উদাহরণস্বরূপ, সেল সি 1 এ টেক্সট "A1+B1"রয়েছে এবং ডি 1 এ ফাংশন রয়েছে =eval। যদি এ 1 বা বি 1 এর মানগুলি পরিবর্তন হয় তবে সেল ডি 1 পুনরায় গণনা করে না

ইওল সমস্যা প্রদর্শন

স্ট্রিং বা ইভাল সেলটিতে একটি উদ্বায়ী ফাংশন প্রবর্তন করে এটি সংশোধন করা যেতে পারে। এটি প্রতিবার ওয়ার্কশিটটি পুনরায় গণনা করার জন্য একটি পুনরায় গণনার জন্য বাধ্য করবে। উদাহরণস্বরূপ, সেল সি 1 এর সাথে প্রতিস্থাপন করা যেতে পারে =if(today(),"A1+B1",)। অথবা, ডি 1 এর সাথে প্রতিস্থাপন করা যেতে পারে =if(today(),eval,)। যে কোনও অস্থির ফাংশন করা উচিত।

তৃতীয় এবং সম্ভবত সবচেয়ে সহজ সমাধান হ'ল নেম ম্যানেজারে আধা-ফাংশন পরিবর্তন করা change =if(today(),evaluate(c1),)


ধন্যবাদ আমি কিছু সময়ের জন্য এই জাতীয় কৌশলটি সন্ধান করছি :)
বেন পার্সোনিক

4
=indirect()

যদি আপনি এটি একটি ঘরে ব্যবহার করেন (কনটেনেটের পাশাপাশি) এটি খুব কার্যকর হতে পারে।

উদাহরণস্বরূপ, এই সূত্রটি অন্য ওয়ার্কশিটে সেল বি 5 এর মান প্রদর্শন করবে (যার নামটি এই ওয়ার্কশিটে সেল এ 2 তে সঞ্চিত রয়েছে):

=INDIRECT(CONCATENATE(A2,"!B5"))

INDIRECT কাজ করার জন্য বাহ্যিক কার্যপত্রকটি অবশ্যই খোলা থাকতে হবে।


কাজ করে না, #REF
এসআইস্লাম

9
INDIRECT গণিত এবং ফাংশন সম্পাদন করতে পারে তবে কেবলমাত্র একটি সেল রেফারেন্স তৈরির অংশ হিসাবে। প্রশ্নটিতে জিজ্ঞাসা করা সাধারণ অর্থে এটি ব্যবহার করা যাবে না।
ফিক্সার 1234
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.