تقنية

وظيفة بديلة محسنة لاستبدال قيم متعددة في جداول بيانات Google


تتيح لك وظيفة SUBSTITUTE في جداول بيانات Google العثور على قيمة نصية معينة واستبدالها في خلية بقيمة أخرى. إذا كنت بحاجة إلى استبدال قيم متعددة في سلسلة بقيم مختلفة، فسوف تحتاج إلى تداخل وظائف SUBSTITUTE المتعددة التي يمكن أن تكون مرهقة.

توفر جداول بيانات Google ميزة مدمجة SUBSTITUTE وظيفة يمكنها البحث عن نص معين واستبداله في خلية بقيمة أخرى. على سبيل المثال، يمكنك استخدام =SUBSTITUTE("My favorite color is red", "red", "blue") لاستبدال النص red في السلسلة مع blue. ال SUBSTITUTE الوظيفة حساسة لحالة الأحرف وستحل محل كافة تكرارات نص البحث.

استبدل القيم المتعددة بـ SUBSTITUTE

الآن فكر في سيناريو يتعين عليك فيه استبدال قيم متعددة في سلسلة بقيم مختلفة. على سبيل المثال، إذا كان لديك سلسلة قالب مثل My name is {{name}} and I work at {{company}} وتريد استبدال {{name}} بالاسم الحقيقي و {{company}} مع اسم الشركة.

ال SUBSTITUTE الدالة ليست مفيدة هنا لأنها يمكن أن تحل محل قيمة واحدة فقط في كل مرة ولكن يمكنك استخدام المتداخلة SUBSTITUTE وظائف لاستبدال قيم متعددة في خلية واحدة. سيكون هناك واحد SUBSTITUTE وظيفة لكل قيمة تريد استبدالها.


وظائف بديلة متداخلة

=SUBSTITUTE(
  SUBSTITUTE(A1,"{{name}}","Amit"),
   "{{company}}","Digital Inspiration")

وظيفة بديلة متعددة لجداول بيانات Google

يعمل الأسلوب المتداخل، ولكن يمكن أن تصبح الصيغة طويلة ومعقدة عندما يتعين عليك استبدال قيم متعددة في خلية واحدة. فيما يلي طريقة أبسط تستخدم Google Apps Script لإنشاء وظيفة مخصصة يمكنها استبدال قيم متعددة في مكالمة واحدة.

=MULTI_SUBSTITUTE(A1, "replace_1", "value_1", "replace_2", "value_2", ... "replace_n", "value_n")

تأخذ الدالة سلسلة الإدخال كوسيطة أولى ثم أزواج من قيم البحث والاستبدال. يحتوي كل زوج على قيمتين – القيمة الأولى هي نص البحث والقيمة الثانية هي النص البديل. ستقوم الوظيفة باستبدال كافة تكرارات نص البحث في سلسلة الإدخال بالنص البديل المقابل.


بدائل متعددة في خلية واحدة

افتح ورقة Google الخاصة بك، وانتقل إلى الإضافات > Apps Script والصق الكود التالي في محرر البرامج النصية. احفظ البرنامج النصي ويمكنك الآن استخدام MULTI_SUBSTITUTE تعمل في ورقة Google الخاصة بك لاستبدال قيم متعددة في خلية واحدة.


function MULTI_SUBSTITUTE(text, ...opts) {
  for (let i = 0; i < opts.length; i += 2) {
    const searchValue = opts[i];
    const replaceValue = opts[i + 1];

    
    const regex = new RegExp(searchValue, 'gi');

    
    text = text.replace(regex, replaceValue || '');
  }
  return text;
}

تستخدم هذه الوظيفة المخصصة تعبيرات عادية لاستبدال كافة تكرارات قيمة البحث في سلسلة الإدخال. ال i العلم في التعبير العادي يجعل البحث غير حساس لحالة الأحرف على عكس المدمج SUBSTITUTE وظيفة.

يمكنك أيضًا استخدام وظيفة الاستبدال المتعددة لإنشاء روابط مملوءة مسبقًا لنماذج Google.



Source link

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى