استخراج بخشی از متن سلول با ترکیب توابع MID و FIND و LEN در اکسل
یادداشت پرونده که کد پرسنلی را داخل یک جمله نگه داشته، یا مسیر خام سامانه کارگزینی که نام بیمارستان و بخش و نام پرسنل را با اسلش پشت سر هم چسبانده، همیشه نیاز به استخراج یک تکه خاص از وسط متن دارد. ترکیب سه تابع کلاسیک MID و FIND و LEN این کار را بدون نیاز به نسخه ۳۶۵ اکسل انجام میدهد.
نقش هر تابع
MID(متن, شروع, تعداد کاراکتر)یک قطعه از وسط متن را از موقعیت شروع، به اندازه تعداد کاراکتر مشخص برمیگرداند.FIND(جستوجو, متن, [شروع])موقعیت اولین باری که رشته جستوجو در متن پیدا میشود را برمیگرداند.LEN(متن)طول کل رشته (تعداد کاراکتر) را برمیگرداند.
استخراج مقدار بعد از یک برچسب ثابت
وقتی یک یادداشت پرونده بهشکل «کد پرسنلی: 3011» ذخیره شده، برای گرفتن فقط عدد کد پرسنلی، ابتدا با FIND موقعیت دونقطه پیدا میشود؛ بعد MID از دو کاراکتر بعد از آن (برای رد کردن دونقطه و فاصله) شروع میکند؛ و تعداد کاراکتر لازم هم از LEN(متن)-FIND(دونقطه,متن)-1 ساخته میشود تا کد با هر طولی (چهار یا پنج رقمی) کامل استخراج شود:
=MID(A2,FIND(":",A2)+2,LEN(A2)-FIND(":",A2)-1)

استخراج بخش میانی با FIND تودرتو
گاهی مقدار مورد نظر نه اول و نه آخر متن، بلکه وسط آن است؛ مثلا در مسیر خام کارگزینی «بیمارستان امام خمینی/اورژانس/زهرا رضایی»، بخش وسط (نام بخش) بین اسلش اول و دوم قرار دارد. برای پیدا کردن اسلش دوم، آرگومان سوم FIND یعنی start_num با موقعیت اسلش اول بهعلاوه یک پر میشود تا جستوجوی دوم از همانجا شروع شود:
=MID(A2,FIND("/",A2)+1,FIND("/",A2,FIND("/",A2)+1)-FIND("/",A2)-1)

استخراج پسوند با طول متغیر تا انتهای متن
برای کد رهگیری پرونده بهشکل «پرونده بیمار-14030430»، شماره بعد از خط تیره در ردیفهای مختلف طول یکسانی ندارد. بهجای یک عدد ثابت برای تعداد کاراکتر MID، از LEN(متن)-FIND(خطتیره,متن) استفاده میشود؛ یعنی هر چقدر از متن بعد از خط تیره باقی مانده، همان مقدار برداشته شود، مهم نیست چند کاراکتر باشد:
=MID(A2,FIND("-",A2)+1,LEN(A2)-FIND("-",A2))

نکات کاربردی
- این ترکیب برخلاف TEXTSPLIT و TEXTAFTER، در همه نسخههای اکسل از جمله ۲۰۱۶ و ۲۰۱۹ کار میکند و نیازی به Microsoft 365 ندارد.
- FIND به حروف بزرگ و کوچک انگلیسی حساس است؛ اگر نیاز به جستوجوی غیرحساس به حروف باشد، همانجا SEARCH را جایگزین کنید؛ نحو هر دو یکسان است.
- اگر رشته جستوجو در متن پیدا نشود، FIND خطای
#VALUE!میدهد؛ برای یادداشتهایی که ممکن است برچسب نداشته باشند، بهتر است FIND را داخل IFERROR بگذارید. - برای استخراج از ابتدای متن تا یک جداکننده (بهجای بعد از جداکننده تا انتها)، کافی است آرگومان شروع MID را ۱ بگذارید و تعداد کاراکتر را همان
FIND(جداکننده,متن)-1قرار دهید.
📄 دانلود فایل اکسل نمونه «استخراج بخشی از متن با MID FIND LEN» — شامل استخراج کد پرسنلی برچسبدار، استخراج بخش میانی با FIND تودرتو، و استخراج پسوند با طول متغیر تا انتهای متن.
منبع : سایت حسابداری بیمارستان
کانال تلگرام @hospitalaccounting