فهرست مطالب
روشی سریع برای تبدیل محدوده ای از سلول ها به یک ردیف با کمک تابع TOROW .
Microsoft Excel 365 چندین عملکرد جدید را معرفی کرده است. برای انجام دستکاری های مختلف با آرایه ها. با TOROW میتوانید تبدیلهای محدوده به ردیف را در کمترین زمان انجام دهید. در اینجا لیستی از وظایفی است که این تابع جدید می تواند انجام دهد:
عملکرد Excel TOROW
تابع TOROW در اکسل برای تبدیل یک آرایه یا محدوده ای از سلول ها به یک ردیف.
این تابع در مجموع سه آرگومان می گیرد، که تنها آرگومان اول مورد نیاز است.
TOROW(آرایه، [نادیده گرفتن]، [scan_by_column])کجا:
آرایه (الزامی) - آرایه یا محدوده ای برای تبدیل به یک سطر.
نادیده گرفتن (اختیاری) - تعیین می کند که آیا خالی ها نادیده گرفته شوند یا/و خطاها میتواند یکی از این مقادیر را بگیرد:
- 0 یا حذف شده (پیشفرض) - حفظ همه مقادیر
- 1 - نادیده گرفتن نقاط خالی
- 2 - نادیده گرفتن خطاها
- 3 - نادیده گرفتن نقاط خالی و خطاها
Scan_by_column (اختیاری) - نحوه اسکن آرایه را مشخص می کند:
- FALSE یا حذف شده (پیش فرض) - آرایه را به صورت افقی با ردیف اسکن کنید.
- درست - آرایه را به صورت عمودی بر اساس ستون اسکن کنید.
نکات:
- برای تبدیل یک آرایه در یک ستون، از تابع TOCOL استفاده کنید.
- برای انجام تبدیل معکوس ردیف به آرایه، از تابع WRAPCOLS برای قرار دادن در ستون ها یا تابع WRAPROWS برای بسته بندی استفاده کنید.آرایه به ردیف.
- برای تبدیل ردیف ها به ستون، از تابع TRANSPOSE استفاده کنید.
در دسترس بودن TOROW
TOROW یک تابع جدید است که فقط در اکسل پشتیبانی می شود. برای مایکروسافت 365 (برای ویندوز و مک) و اکسل برای وب.
فرمول پایه TOROW در اکسل
برای انجام یک تبدیل ساده از محدوده به ردیف، از فرمول TOROW استفاده کنید. در شکل اولیه آن برای این، شما باید تنها آرگومان اول ( array ) را تعریف کنید.
برای مثال، برای تبدیل یک آرایه دو بعدی متشکل از 3 ستون و 3 ردیف به یک ردیف، فرمول این است:
=TOROW(A3:C6)
شما فرمول را فقط در یک سلول وارد میکنید (در مورد ما A10)، و به طور خودکار به تعداد سلولهایی که برای نگهداری همه نتایج لازم است ریخته میشود. در اصطلاح اکسل، محدوده خروجی که توسط یک حاشیه آبی نازک احاطه شده است، محدوده ریزش نامیده می شود.
چگونه این فرمول کار می کند:
ابتدا، محدوده ای از سلول های ارائه شده به یک آرایه دو بعدی تبدیل می شود. لطفاً به ستون های جدا شده با کاما و ردیف های جدا شده با نقطه ویرگول توجه کنید:
{"Apple","Banana","Cherry";1,2,3;4,5,6;7,8,9}
سپس، تابع TOROW آرایه را از چپ به راست می خواند و آن را به یک آرایه افقی یک بعدی تبدیل می کند:
{"Apple","Banana","Cherry",1,2,3,4,5,6,7,8,9}
نتیجه به سلول A10 می رود که از آنجا به سلول همسایه در سمت راست می ریزد.
تبدیل محدوده به ردیف بدون توجه به خالی ها و خطاها
به طور پیشفرض، تابع TOROW تمام مقادیر آرایه منبع، از جمله سلولهای خالی وخطاها در خروجی، مقادیر صفر در محل سلولهای خالی ظاهر میشوند، که ممکن است کاملاً گیجکننده باشد.
برای غیر خالی کردن ، آرگومان ignore را روی 1 تنظیم کنید:
=TOROW(A3:C5, 1)
برای نادیده گرفتن خطاها ، آرگومان نادیده گرفتن را روی 2 تنظیم کنید:
=TOROW(A3:C5, 2)
برای پرش هر دو، جاهای خالی و خطاها ، از 3 برای آرگومان نادیده گرفتن استفاده کنید:
=TOROW(A3:C5, 3)
تصویر زیر هر سه سناریو را در عمل نشان می دهد:
خواندن آرایه به صورت افقی یا عمودی
با رفتار پیش فرض، تابع TOROW آرایه را به صورت افقی از چپ به راست پردازش می کند. برای اسکن مقادیر بر اساس ستون از بالا به پایین، آرگومان سوم ( scan_by_column ) را روی TRUE یا 1 قرار دهید.
برای مثال، برای خواندن محدوده منبع به ردیف، فرمول در E3 این است:
=TOROW(A3:C5)
برای اسکن محدوده به ستون، فرمول در E8 این است:
=TOROW(A3:C5, ,TRUE)
در هر دو حالت، آرایه های به دست آمده عبارتند از: اندازه یکسان است، اما مقادیر به ترتیب متفاوتی مرتب شده اند.
ادغام چندین محدوده در یک ردیف
برای ترکیب چندین محدوده غیر مجاور در یک ردیف، ابتدا آنها را به ترتیب به کمک HSTACK یا VSTACK در یک آرایه به صورت افقی یا عمودی در یک آرایه واحد قرار می دهید. و سپس از تابع TOROW برای تبدیل آرایه ترکیبی به یک ردیف استفاده کنید.
بسته به منطق کسب و کار شما، یکی از فرمول های زیر این کار را انجام می دهد.
آرایه ها را به صورت افقی روی هم قرار دهید و با استفاده از آن تبدیل کنید. ردیف
با اولینمحدوده در A3:C4 و محدوده دوم در A8:C9، فرمول زیر دو محدوده را به صورت افقی در یک آرایه منفرد قرار می دهد و سپس آن را به یک ردیف تبدیل می کند که مقادیر را از چپ به راست می خواند. نتیجه در E3 در تصویر زیر است.
=TOROW(HSTACK(A3:C4, A8:C9))
آرایه ها را به صورت افقی روی هم قرار دهید و با ستون تبدیل کنید
برای خواندن آرایه انباشته شده به صورت عمودی از بالا به پایین، آرگومان سوم TOROW را همانطور که در E5 در تصویر زیر نشان داده شده است، روی TRUE قرار می دهید:
=TOROW(HSTACK(A3:C4, A8:C9), ,TRUE)
آرایه ها را به صورت عمودی پشته کنید و با ردیف تبدیل کنید
برای اضافه کردن هر کدام آرایه بعدی را در پایین آرایه قبلی قرار دهید و آرایه ترکیبی را به صورت افقی بخوانید، فرمول در E12 این است:
=TOROW(VSTACK(A3:C4, A8:C9))
آرایه ها را به صورت عمودی روی هم قرار دهید و بر اساس ستون تبدیل کنید
برای افزودن هر آرایه بعدی به پایین آرایه قبلی و اسکن آرایه ترکیبی به صورت عمودی، فرمول این است:
=TOROW(VSTACK(A3:C4, A8:C9), ,TRUE)
برای درک بهتر منطق، ترتیب متفاوت مقادیر را در آرایه های به دست آمده:
استخراج مقادیر منحصر به فرد از یک محدوده به یک ردیف
با شروع مایکروسافت اکسل 2016، ما یک تابع فوق العاده به نام UNIQUE داریم که به راحتی می تواند مقادیر منحصر به فرد را از یک ستون دریافت کند. یا ردیف با این حال، نمی تواند آرایه های چند ستونی را مدیریت کند. برای غلبه بر این محدودیت، از توابع UNIQUE و TOROW با هم استفاده کنید.
به عنوان مثال، برای استخراج تمام مقادیر مختلف (متمایز) از محدوده A2:C7 و قرار دادن نتایج در یک ردیف،فرمول این است:
=UNIQUE(TOROW(A2:C7), TRUE)
از آنجایی که TOROW یک آرایه افقی یک بعدی را برمی گرداند، آرگومان دوم ( by_col ) UNIQUE را روی TRUE قرار می دهیم تا ستون ها را در مقابل هر کدام مقایسه کنیم. دیگر.
اگر میخواهید نتایج به ترتیب حروف الفبا مرتب شوند، فرمول بالا را در تابع SORT قرار دهید:
=SORT(UNIQUE(TOROW(A2:C7), TRUE), , ,TRUE )
مانند UNIQUE، by_col آرگومان SORT نیز روی TRUE تنظیم شده است.
جایگزین TOROW برای Excel 365 - 2010
در نسخه های اکسل که تابع TOROW در دسترس نیست، می توانید یک محدوده را با استفاده از ترکیبی از چند تابع مختلف که در آن کار می کنند به یک ردیف تبدیل کنید. نسخه های قدیمی تر این راه حل ها پیچیده تر هستند، اما کار می کنند.
برای اسکن محدوده به صورت افقی، فرمول عمومی این است:
INDEX( محدوده ، QUOTIENT(COLUMN (A1)-1، COLUMNS( محدوده ))+1، MOD(COLUMN(A1)-1، COLUMNS( محدوده ))+1)برای اسکن محدوده به صورت عمودی، فرمول عمومی :
INDEX( محدوده ، MOD(COLUMN(A1)-1، COLUMNS( محدوده ))+1، QUOTIENT(COLUMN (A1)-1، COLUMNS( range ))+1)برای مجموعه داده نمونه ما در A3:C5، فرمول ها این شکل را دارند:
برای اسکن محدوده به ردیف:
=INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1)
این فرمول جایگزینی برای تابع TOROW است که آرگومان سوم روی FALSE تنظیم شده یا حذف شده است:
=TOROW(A3:C5)
برای اسکن محدوده توسط ستون:
=INDEX($A$3:$C$5, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1)
این فرمول معادل تابع TOROW با آرگومان 3 است که رویTRUE:
=TOROW(A3:C5, ,TRUE)
لطفاً توجه داشته باشید که برخلاف تابع TOROW آرایه پویا، این فرمولهای سنتی باید در هر سلولی که میخواهید نتایج نمایش داده شوند وارد کنید. در مورد ما، فرمول اول (توسط ردیف) به E3 می رود و از طریق M3 کپی می شود. فرمول دوم (بر اساس ستون) در E8 قرار می گیرد و از طریق M8 کشیده می شود.
برای اینکه فرمول ها به درستی کپی شوند، محدوده را با استفاده از مراجع مطلق قفل می کنیم ($A$3:$C$5). یک محدوده نامگذاری شده نیز انجام میدهد.
اگر فرمولها را در سلولهای بیشتری کپی کردهاید، یک #REF! خطا در سلول های "اضافی" ظاهر می شود. برای رفع این مشکل، فرمول خود را در تابع IFERROR به این صورت بپیچید:
=IFERROR(INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1), "")
این فرمول ها چگونه کار می کنند
در زیر یک تفکیک تفصیلی ارائه شده است. از اولین فرمول که مقادیر را بر اساس ردیف مرتب می کند:
=INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1)
در قلب فرمول، از تابع INDEX برای بدست آوردن مقدار یک سلول بر اساس موقعیت نسبی آن در محدوده.
شماره ردیف با این فرمول محاسبه می شود:
QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1
ایده این است که یک دنباله اعداد تکرار شونده مانند 1،1 تولید شود. ,1,2,2,2,3,3,3, ... که در آن هر عدد به تعداد ستون هایی در محدوده منبع تکرار می شود. و نحوه انجام این کار به این صورت است:
QUOTIENT بخش عدد صحیح یک تقسیم را برمی گرداند.
برای عدد ، ما از COLUMN(A1)-1 استفاده می کنیم که یک سریال را برمی گرداند. عدد از 0 در اولین سلول که در آن فرمول وارد شده به n (تعداد کل مقادیر در محدودهمنهای 1) در آخرین سلولی که فرمول در آن وارد شده است. در این مثال، ما 0 در E2 و 8 در M3 داریم.
برای مخرج ، از COLUMNS($A$3:$C$5)) استفاده می کنیم. این یک عدد ثابت برابر با تعداد ستونهای محدوده شما (در مورد ما 3) برمیگرداند.
در نتیجه، تابع QUOTIENT 0 را در 3 سلول اول (E3:G3) برمیگرداند که ما به آنها میپردازیم. 1 را اضافه کنید، بنابراین شماره ردیف 1 است.
برای 3 سلول بعدی (H3:J3)، QUOTIENT عدد 1 را برمیگرداند و +1 ردیف شماره 2 را میدهد. و به همین ترتیب.
برای محاسبه شماره ستون ، با استفاده از تابع MOD یک دنباله اعداد مناسب می سازید:
MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1
از آنجایی که 3 ستون در محدوده ما وجود دارد، دنباله باید شبیه به این باشد. : 1،2،3،1،2،3،…
عملکرد MOD باقیمانده را پس از تقسیم برمی گرداند.
در E3، MOD(COLUMN(A1)-1، COLUMNS($) A$3:$C$5))+
میشود
MOD(1-1, 3)+1)
و 1 را برمیگرداند.
در F3، MOD(COLUMN(B1)-1، COLUMNS($A$3:$C$5))+
می شود
MOD(2-1, 3)+1)
و 2 را برمی گرداند.
وقتی اعداد سطر و ستون مشخص شد، INDEX به راحتی مقدار را در تقاطع آن سطر و ستون واکشی می کند.
در E3، INDEX($A$3 :$C$5, 1, 1) مقداری را از ردیف 1 و ستون 1 برمی گرداند. از محدوده ارجاع شده، یعنی از سلول A3.
در F3، INDEX($A$3:$C$5, 1, 2) مقداری را از ردیف 1 و ستون 2، یعنی از سلول B3 برمی گرداند.
و غیره.
فرمول دوم که محدوده را به ستون اسکن می کند، در یکروش مشابه تفاوت این است که ما از MOD برای محاسبه شماره ردیف و QUOTIENT برای محاسبه شماره ستون استفاده می کنیم.
عملکرد TOROW کار نمی کند
اگر تابع TOROW منجر به خطا شود، به احتمال زیاد یکی از این دلایل است:
#NAME؟ خطا
با اکثر توابع اکسل، یک #NAME وجود دارد؟ خطا نشانه واضحی از اشتباه املایی نام تابع است. با TOROW، ممکن است به این معنی باشد که این تابع در اکسل شما در دسترس نیست. اگر نسخه اکسل شما غیر از 365 است، از یک جایگزین TOROW استفاده کنید.
#NUM error
یک خطای #NUM نشان می دهد که آرایه برگشتی نمی تواند در یک ردیف قرار گیرد. اغلب زمانی اتفاق میافتد که به جای محدوده کوچکتر به کل ستونها و/یا ردیفها ارجاع میدهید.
#SPILL error
در بیشتر موارد، یک خطای #SPILL نشان میدهد که ردیفی که در آن شما وارد کرده اید فرمول سلول های خالی کافی برای ریختن نتایج را ندارد. اگر سلول های مجاور از نظر بصری خالی هستند، مطمئن شوید که هیچ فاصله یا نویسه های غیرچاپی دیگری در آنها وجود ندارد. برای اطلاعات بیشتر، به معنای #خطای SPILL در اکسل مراجعه کنید.
به این صورت است که از تابع TOROW در اکسل برای تبدیل یک آرایه یا محدوده ۲ بعدی به یک ردیف استفاده میکنید. از شما سپاسگزارم که خواندید و امیدوارم هفته آینده شما را در وبلاگ خود ببینیم!
کتاب کار برای دانلود تمرین کنید
تابع Excel TOROW - نمونه های فرمول (فایل xlsx.)
<3 <3 <3
3>