نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: Volatile Function

  1. #1


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    Volatile Function



    توابع فرار (Volatile Function)
    توابع فرار توابعی هستند که با هربار تجدید محاسبه فایل این توابع مجددا محاسبه می شود درواقع این محاسبه ارتباطی به تغییر داده ها و یا تغییر فرمول ندارد، لذا می بایست تا حد امکان از بکارگیری این توابع خود داری نمایید. کاربرد بیش از حد این توابع به طور محسوسی در هر بار تجدید محاسبه سرعت فایل را کاهش داده و منجر به هنگ شدن فایل می گردد.
    توابع زیر که به صورت واضح جزو توابع فرار محسوب می گردند:

    کد HTML:
    RAND(), NOW(), TODAY()
    برخلاف تصور توابع زیر نیز جزو این توابع محسوب می گردد:
    کد HTML:
     	OFFSET(), CELL(), INDIRECT(), INFO()
    برخی توابع در برخی ورژن ها فرار محسوب می شوند به عنوان مثال تابع INDEX() در اکسل 97 فرار محسوب نمی گردد.
    دسته ای از توابع توسط مایکروسافت به عنوان توابع فرار معرفی شده اند که در صورت تست کردن به عنوان تابع فرار شناسایی نمی شوند:


    کد HTML:
    INDEX(), ROWS(), COLUMNS(), AREAS()
    و تابعی مانند
    کد HTML:
    CELL("Filename")
    همانند توابع فرار محسوب می گردد با اینکه مایکروسافت آنرا فرار نمی داند.
    برخی توابع براساس نوع استفاده می توانند فرار باشند از ورژن 2002 به بعد تابع sumif چنین حالتی دارد ، این تابع زمانی که محدوده آرگومان اول برابر با محدوده آرگومان سوم نباشد یک تابع فرار است به عنوان مثال
    کد HTML:
    =SUMIF(A1:A4,">0",B1)
    فرار محسوب می گردد اما
    کد HTML:
    =SUMIF(A1:A4,">0",B1:B4)
    فرار نیست.
    در صورت استفاده از یک تابع فرار در یک فرمول تابع حاصل فرار محسوب می شود حتی اگر تابع استفاده شده در مجموعه فرمول مورد محاسبه واقع نشود.
    به عنوان مثال فرمول
    کد HTML:
     =IF(1<2,99,NOW())
    همواره 99 را بازمیگرداند و تابع
    کد HTML:
     NOW()
    مورد محاسبه واقع نمی شود با این حال یک تابع فرار محسوب می شود.
    حالت دیگری نیز وجود دارد که فرض کنید در سلول A1 تابع
    کد HTML:
     Now()
    را بنویسید و از فرمول
    کد HTML:
    =IF(1<2,99,A1)
    استفاده کنید در این صورت این تابع خاصیت توابع فرار را نخواهد داشت.
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    ویرایش توسط ~M*E*H*D*I~ : 2014/08/12 در ساعت 08:33




  2.  

  3. #2


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    وابستگی به توابع فرار
    وابستگی مستقیم: وابستگی مستقیم به یک تابع فرار منجر به تجدید محاسبه می گردد، به عنوان مثال اگر در سلول A1 تابع Now() نوشته شود و A2=A1 و A3=A2 و به همین ترتیب ، همگی جزء توابع فرار محسوب می شوند.
    وابستگی غیر مستقیم : وابستگی غیرمستقیم به یک تابع فرار همواره منجر به تجدید محاسبه نمی شود.فرض کنید در سلول A1 تابع Now() نوشته شده و در سلول های A2 تا A5 اعداد 2 تا 5 نوشته شود
    تابع
    کد HTML:
    =INDEX(A1:A5,1,1)
    به طور مستقیم به سلول A1 وابسته است و فرمول فرار محسوب می شود
    تابع
    کد HTML:
    =INDEX(A1:A5,3,1)
    به طور غیرمستقیم به A1 وابسته است اما فرار محسوب نمی گردد.
    فرمت های شرطی
    استفاده از فرمت های شرطی (conditional formatting) منجر به فرار شدن فرمول های مورد استفاده می گردد دلیل آن نیز واضح است چرا که فرمول های استفاده شده در فرمت های شرطی برای اعمال شروط بایستی مکررا محاسبه گردند.
    اقداماتی که منجر به تجدید محاسبه میگردد

    • استفاده از اتوفیلتر منجر به تجدید محاسبه فرمول های بکار رفته در سلول ها میگردد
    • دابل کلیک بر روی جدا کننده سطرها و ستون ها منجر به تجدید محاسبه می گردد در حالی که تغییر اندازه ستون ها و ردیف ها به صورت دستی منجر به تجدید محاسبه نمی گردد.
    • حذف و اضاف کردن ردیف ها ستون ها جابجایی سلول ها منجر به تجدید محاسبه می گردد
    • اضافه کردن یا حذف کردن اسامی تعریف شده از طریق Name manager منجر به تجدید محاسبه می گردد
    • تغییر نام یا تغییر مکان شیت منجر به تجدید محاسبه می شود.
    • حذف کردن یک شیت منجر به تجدید محاسبه می شود اما اضافه کردن شیت جدید چنین خاصیتی ندارد
    • مخفی و غیر مخفی کردن ردیف ها و ستون ها در اکسل 2003 منجر به تجدید محاسبه می گردد
    • باز کردن فایل های CSV به هر طریقی منجر به تجدید محاسبه در کلیه ورک بوک های فعال شده حتی اگر محاسبات را به صورت دستی تنظیم کرده باشید ، این تجدید محاسبه به هیچ عنوان متوقف نمی شود مگر اینکه در با استفاده ازVBA خصوصیت EnableCalculation را به false تغییر دهید.
    • هربار تکرار در Golseek نیز منجر به تجدید محاسبه می گردد.

    آنچه گفته شد در فایل های عادی هیچ مشکلی ایجاد نخواهد کرد زمانی مشکل ایجاد می گردد که با فایل ها بزرگ سروکار دارید در این مواقع ممکن است فایل شما به حالت محاسبه رفته و مدت زمان زیادی صرف آن شود اکثر اوقات حافظه رم کامپیوتر جوابگوی این حجم نبوده و فایل پیغام خطا صادر می کند در این حالت کلیه فایل ها اکسل بسته شده و شما اطلاعات خود را از دست می دهید.





اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. هزار و یک شب اکسل - شب شصت ام توابع خانواده Is Family Function) IS )
    توسط امين اسماعيلي در انجمن ترفندهای اکسل Excel Tricks
    پاسخ ها: 5
    آخرين نوشته: 2014/06/10, 02:39
  2. پاسخ ها: 2
    آخرين نوشته: 2014/05/10, 16:09
  3. استفاده از persian function در اکسل
    توسط dove1355 در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 17
    آخرين نوشته: 2013/05/02, 10:08
  4. diff date function
    توسط safaei.mehdi@mapnablade.com در انجمن زنگ تفریح اکسل - Recess
    پاسخ ها: 4
    آخرين نوشته: 2012/04/03, 13:59
  5. diff date function
    توسط safaei.mehdi@mapnablade.com در انجمن آموزش توابع اكسل
    پاسخ ها: 0
    آخرين نوشته: 1970/01/01, 04:30

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

انجمن اكسل ايران , اكسل , اكسس , سوال و جواب اكسل , سوال اكسس , انجمن اكسل ايران , توابع اكسل, آموزش اكسل, آموزش اكسس, VBA, ويژوال بيسيك

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است