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

شرح و تحلیل مسئله:
در جدول اکسل زیر، ستون A حاوی کدها و سایر ستون ها ستون هایی را گروه بندی می کنند که معانی متفاوتی دارند و حاوی مقادیر جدا شده با کاما هستند.
هدف محاسباتی: تقسیم هر مقدار ستون گروه بندی برای ایجاد یک ردیف برای هر ترکیب منحصر به فرد. در زیر نتیجه گسترش اولین رکورد است:
راه حل:
استفاده کنید SPL XLL برای وارد کردن فرمول زیر:
=spl("=E@b(?.(~.(~.split@c())).conj(eval($[xjoin(] / ~.($[~(] / # / $[)]).concat($[;]) / $[)])))",A2:G4)
همانطور که در تصویر زیر نشان داده شده است:
توضیح:
تابع E@b() هر ردیف را به جز ردیف سرصفحه ستون، به یک دنباله تبدیل می کند. split@c یک رشته را به دنباله ای جدا شده با کاما تقسیم می کند. تابع conj() اعضای هر دنباله را به هم متصل می کند. تابع ()eval رشته را به عنوان کد پویا برای اجرا می گیرد. xjoin() تولید متقابل را روی چندین توالی انجام می دهد تا آنها را ترکیب کند. $[;] شکل ساده شده نوشتن یک رشته است که معادل “”;” است.