حسابداری و امور مالی بیمارستانبخشنامه، تعرفه و محاسبات حقوق
جست‌وجوخبرنامه
آموزش اکسل

استخراج بخشی از متن سلول با ترکیب توابع 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)

استخراج کد پرسنلی از یادداشت پرونده با ترکیب MID و FIND و LEN در اکسل
FIND موقعیت دونقطه را پیدا می کند و LEN طول باقیمانده متن را حساب می کند تا کد با هر طولی کامل استخراج شود

استخراج بخش میانی با FIND تودرتو

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

=MID(A2,FIND("/",A2)+1,FIND("/",A2,FIND("/",A2)+1)-FIND("/",A2)-1)

استخراج بخش میانی از مسیر کارگزینی با FIND تودرتو در اکسل
آرگومان سوم FIND (start_num) جستوجوی اسلش دوم را از بعد اسلش اول شروع می کند

استخراج پسوند با طول متغیر تا انتهای متن

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

=MID(A2,FIND("-",A2)+1,LEN(A2)-FIND("-",A2))

استخراج شماره پرونده با طول متغیر تا انتهای متن با MID FIND LEN در اکسل
تعداد کاراکتر از LEN منهای موقعیت خط تیره ساخته شده؛ نتیجه با هر طولی درست است

نکات کاربردی

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

📄 دانلود فایل اکسل نمونه «استخراج بخشی از متن با MID FIND LEN» — شامل استخراج کد پرسنلی برچسب‌دار، استخراج بخش میانی با FIND تودرتو، و استخراج پسوند با طول متغیر تا انتهای متن.

منبع : سایت حسابداری بیمارستان
کانال تلگرام @hospitalaccounting

نظر شما

نظر شما پس از بررسی منتشر می‌شود. ایمیل‌تان هرگز روی سایت نمایش داده نمی‌شود.