برنامه نویسی

در اکسل، همه ترکیبات چند ستون را گسترش دهید

شرح و تحلیل مسئله:

در جدول اکسل زیر، ستون A حاوی کدها و سایر ستون ها ستون هایی را گروه بندی می کنند که معانی متفاوتی دارند و حاوی مقادیر جدا شده با کاما هستند.

میز 1

هدف محاسباتی: تقسیم هر مقدار ستون گروه بندی برای ایجاد یک ردیف برای هر ترکیب منحصر به فرد. در زیر نتیجه گسترش اولین رکورد است:

نتیجه گسترش اولین رکورد

راه حل:

استفاده کنید SPL XLL برای وارد کردن فرمول زیر:

=spl("=E@b(?.(~.(~.split@c())).conj(eval($[xjoin(] / ~.($[~(] / # / $[)]).concat($[;]) / $[)])))",A2:G4)

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

همانطور که در تصویر زیر نشان داده شده است:

جدول نتیجه با کد وارد شده
توضیح:

تابع E@b() هر ردیف را به جز ردیف سرصفحه ستون، به یک دنباله تبدیل می کند. split@c یک رشته را به دنباله ای جدا شده با کاما تقسیم می کند. تابع conj() اعضای هر دنباله را به هم متصل می کند. تابع ()eval رشته را به عنوان کد پویا برای اجرا می گیرد. xjoin() تولید متقابل را روی چندین توالی انجام می دهد تا آنها را ترکیب کند. $[;] شکل ساده شده نوشتن یک رشته است که معادل “”;” است.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا