جادوی وارد کردن اکسل کار خوبی در وارد کردن فایلهای CSV انجام میدهد، اما من هرگز استفاده از آن را دوست نداشتم. هر بار که یک فایل CSV را وارد میکنید، باید از میان چندین پنجره گفتوگو کلیک کنید، ستونها را نقشهبرداری کنید و با فرآیندی که سنگینتر از حد لازم به نظر میرسد، روبرو شوید. برای وارد کردنهای سریع و روزمره، این کار بیش از حد است.
جادوی وارد کردن اکسل کار خوبی در وارد کردن فایلهای CSV انجام میدهد، اما من هرگز استفاده از آن را دوست نداشتم. هر وارد کردن CSV نیاز به کلیک کردن در چندین پنجره گفتوگو، نگاشت ستونها و مقابله با فرآیندی دارد که احساس سنگین بودن میکند بیش از آنچه لازم است. برای وارد کردن سریع و روزمره، این کار بیش از حد است.
تابع IMPORTCSV اکسل جایگزینی است که الآن برای آن مراجعه میکنم. این یک جایگزینی کامل برای Power Query نیست، اما برای بیشتر وارد کردنهای روتین، بهوضوح سریعتر و آسانتر است.
IMPORTCSV در حال حاضر برای مشترکین Microsoft 365 در کانال بتای Insiders در دسترس است، نسخه 2502 (ساخت 18604.20002) یا بالاتر در اکسل برای ویندوز را اجرا میکند. اگر هنوز آن را نمیبینید، به مرور زمان بهصورت گستردهتری عرضه خواهد شد.
IMPORTCSV یک جایگزین سریعتر و مبتنی بر فرمول است
دستوری آن تنها یک آرگومان الزامی دارد

IMPORTCSV یک تابع نسبتاً جدید در اکسل است که دادهها را از یک فایل CSV بهصورت مستقیم به جدولمحور شما با استفاده از یک فرمول وارد میکند. بهجای عبور از پنجرههای جادوی وارد کردن، یک فرمول واحد را در یک سلول مینویسید و اکسل تمام مجموعه داده را در برگه شما پخش میکند. این تابع هم با مسیرهای فایل محلی و هم با URLهای وب کار میکند، که در بخش بعدی به آن میپردازم.
دستورات بهصورت زیر است:
=IMPORTCSV(source, [skip_rows], [take_rows], [locale])
فقط اولین آرگومان الزامی است. بقیه اختیاریاند، اما زمانی که میخواهید کنترل بیشتری بر آنچه وارد میشود داشته باشید، مفید هستند.
- source: مسیر بهفایل CSV شما. این میتواند مسیر محلی (مثلاً C:\Data\country_full.csv) یا URL مستقیم به یک CSV میزبانیشده آنلاین باشد. آن را در داخل علامتهای اقتباس دوتایی بگذارید یا به سلولی که مسیر را دارد ارجاع دهید.
- skip_rows: تعداد ردیفهایی که از بالای فایل نادیده گرفته میشوند. برای پرش از ردیف سرصفحه ۱ را وارد کنید یا عدد منفی بگذارید تا ردیفها از پایین به بالا حذف شوند.
- take_rows: تعداد ردیفهایی که از فایل خوانده میشود. مقدار مثبت ردیفها را از بالا میگیرد — مقدار منفی از پایین. این را میتوانید با skip_rows ترکیب کنید تا بخش خاصی از دادهها را وارد کنید.
- locale: نحوه تفسیر تاریخها و اعداد توسط اکسل را تغییر میدهد. بهعنوان مثال تنظیم «it‑IT» به اکسل میگوید فایل را با قالب ایتالیایی بخواند.
برای اکثر وارد کردنها، فقط از آرگومان source استفاده میکنید، چیزی شبیه
=IMPORTCSV("C:\Data\country_full.csv")
. آرگومانهای دیگر برای موقعیتهایی که به دقت بیشتر نیاز دارید، مانند پرش از ردیفهای متاداده، گرفتن آخرین ورودیها یا رسیدگی به نکات فرمتبندی بینالمللی، وجود دارند.
=IMPORTCSV("C:\Data\country_full.csv")
IMPORTCSV یک آرایه دینامیک بر میگرداند، به این معنی که خروجی بهصورت خودکار در تعداد ردیفها و ستونهای موردنیاز پخش میشود. نیازی به انتخاب یک محدوده پیش از آن ندارید. فقط مطمئن شوید که سلولهای اطراف خالی هستند، وگرنه خطای #SPILL error دریافت خواهید کرد.
IMPORTCSV همچنین فایلهای CSV میزبانیشده روی وب را مدیریت میکند
آدرس فایل را با یک URL جایگزین کنید و اکسل دادهها را برای شما دریافت میکند

علاوه بر فایلهای محلی، IMPORTCSV میتواند داده را بهطور مستقیم از یک URL دریافت کند. مسیر فایل را با یک آدرس وب که به فایل CSV اشاره دارد، جایگزین کنید و اکسل دادهها را به برگه شما میآورد. این برای مجموعهدادههای عمومی، فایلهای تیمی بهاشتراکگذاریشده در فضای ابری یا هر CSV که از طریق لینک مستقیم قابل دانلود باشد، مفید است.
اولین بار که منبع وب را استفاده میکنید، اکسل از شما میخواهد تا اتصال را مجاز کنید. این یک مرحلهٔ یکبارانه است، بنابراین پس از تأیید، وارد کردنهای بعدی از همان دامنه دیگر پرسیده نمیشوند. فرمول به همان شکل است:
=IMPORTCSV("https://example.com/data/countries.csv")
مزیت این است که دیگر نیازی به دانلود دستی CSVها ندارید. اگر تیم شما فایلی را بهصورت منظم بهروزرسانی میکند، مثلاً یک خروجی هفتگی از CRM یا ابزار تحلیل، جدولمحور شما بدون نیاز به دوبارهوارد کردن، بهروز میماند.

من ترجیح میدهم چه میخواهم بهصورت ساده به انگلیسی توضیح دهم تا یک فرمول تو در تو را رفع اشکال کنم.
فیلتر کردن دادههای وارد شده بدون بارگذاری تمام فایل
IMPORTCSV را داخل FILTER و CHOOSECOLS برای نتایج هدفمند تو در تو کنید
از آنجا که IMPORTCSV یک آرایه دینامیک بر میگرداند، میتوانید آن را داخل توابع دیگر بپیچید تا دقیقاً آنچه نیاز دارید استخراج کنید. این حوزهای است که جادوی وارد کردن نمیتواند رقابت کند، زیرا راهی برای اعمال فیلترهای زنده یا انتخاب ستونهای خاص در میانهٔ وارد کردن از طریق پنجرهها وجود ندارد. این همچنین دلیل اصلی است که من از تابع FILTER اکسل برای کارهای بسیاری استفاده میکنم. با IMPORTCSV فقط مسألهٔ تو در تو کردن فرمول است.
در CSV مثال، دادههای کشوری ۲۴۹ ردیف و ۱۱ ستون دارد، شامل نام کشور، کدهای alpha‑2 و alpha‑3، منطقه و زیرمنطقه. فرض کنید فقط میخواهید کشورهایی در آسیا. بهجای وارد کردن کل فایل و فیلتر دستی، میتوانید بنویسید:
=FILTER(IMPORTCSV(B2), CHOOSECOLS(IMPORTCSV(B2), 6) = "Asia")
این فرمول CSV را وارد میکند، با CHOOSECOLS ستون ششم (منطقه) را جدا میکند و تمام مجموعه داده را فیلتر میکند تا فقط ردیفهایی که منطقه برابر «Asia» است، برگردانده شوند.
میتوانید این را انعطافپذیرتر کنید. یک فهرست کشویی در یک سلول—مثلاً D1—با تمام پنج منطقه (آفریقا، آمریکا، آسیا، اروپا، اقیانوسیه) قرار دهید. سپس فرمول را طوری تنظیم کنید که به آن سلول ارجاع دهد:
=FILTER(IMPORTCSV(B2), CHOOSECOLS(IMPORTCSV(B2), 6) = D1)
حالا تغییر کشوی از «Asia» به «Africa» خروجی را بلافاصله تازه میکند. میتوانید از CHOOSECOLS برای حذف ستونهای غیرضروری نیز استفاده کنید. اگر فقط به نام کشور، کد alpha‑3 و زیرمنطقه نیاز دارید، میتوانید نتیجه فیلتر شده را اینگونه بپیچید:
=CHOOSECOLS(FILTER(IMPORTCSV(B2), CHOOSECOLS(IMPORTCSV(B2), 6) = D1), 1, 3, 7)
این ستونهای ۱، ۳ و ۷ را از دادههای فیلتر شده میگیرد و نمایی تمیز و مختصر بدون دسترسی به فایل منبع ارائه میکند. این همان تحلیلی است که پیش از این نیاز به Power Query یا Pivot Table داشت.
IMPORTCSV به خوبی با سایر توابع آرایه دینامیک اکسل ترکیب میشود
چند ترکیب ارزشمند برای امتحان
یکبار با IMPORTCSV راحت شدید، سعی کنید با استفاده از VSTACK چندین فایل CSV را به یک مجموعه داده ترکیب کنید. میتوانید ردیف سرصفحه را در هر فایل پس از اولین فایل با
=VSTACK(IMPORTCSV(file1), IMPORTCSV(file2, 1))
حذف کنید. میتوانید مستقیم از SORT و UNIQUE روی دادههای وارد شده استفاده کنید یا IMPORTCSV را داخل SUMIFS بگذارید تا مقادیر را از یک CSV بدون نیاز به وارد کردن کامل بصری جمع کنید. این تابع در جریانهای کاری که احتمالاً قبلاً استفاده میکنید جای میگیرد — فقط جادوی وارد کردن را از معادله حذف میکند.
=VSTACK(IMPORTCSV(file1), IMPORTCSV(file2, 1))