تابع if نوشتن که سلول را خالی کند ولی در نتیجه سلول blank نمی شود

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • shobeyr63

    • 2014/08/23
    • 15

    تابع if نوشتن که سلول را خالی کند ولی در نتیجه سلول blank نمی شود

    سلام خدمت اساتید و دوستان
    من یه ستون a دارم که format cell آن text است. که شامل شماره های 10 یا 11 رقمی است که مختص شماره های موبایل است. 10 رقمی در حالتی است که وقتی copy paste می کردم، صفر سمت چپ paste نشده است. و نیز شماره های 8 رقمی که مختص شهر تهران است. من در ستون b می خام به اول شماره های 10 رقمی موبایل یک صفر اضافه شود و شماره های 11 رقمی موبایل باقی بماند و نیز شماره های 8 رقمی که مختص تهران است و من نباید آنها را در ستون ثبت می کردم، حذف شود.
    من یه فرمول در b1 نوشتم به این شکل:
    کد HTML:
    if(len(a1)=10,"0"&a1,if(len(a1)=8,"",a1))
    با قابلیت fill formatting اونو به سلولهای پایینی ستون B کپی کردم. فرمولم درست کار کرد و آنچه که می خواستم شد.
    ولی وقتی ستون b رو کپی می کنم و در ستون c پیست می کنم و موقع paste به قسمت paste special می رم و گزینه values & number formatting رو انتخاب می کنم. یه مشکلی دارم.
    ستون b در ستون c کپی می شود. ولی وقتی ستون c رو انتخاب می کنم و با go to (همان کلید f5) به قسمت special می رم و گزینه blanks رو انتخاب می کنم اون سلول هایی که شامل شماره های 8 رقمی بودند و طبق فرمول باید الان خالی باشند رو انتخاب نمی کنه. با اینکه تو این سلول ها هیچ متنی وجود ندارد و خالی هستند.
    میشه کمک کنید و بگید چرا go to این سلول های خالی رو انتخاب نمی کنه؟
    اصلا من همه این کارا رو کردم که:
    1. به شماره های 10 رقمی خود یک صفر اضافه کنم.
    2. سلول های شامل شماره 8 رقمی را خالی کنم و بعد اونها رو انتخاب کنم و با قابلیت delete cell اونها را پاک کنم.
    وقتی با تابع isblank این سلول هایی رو که خالی شده اند رو چک می کنم خروجی false می دهد. یک سلول مگه چند حالت داره؟ یا خالی است یا پره دیگه. مگه حالت سومی هم هست؟
    میشه کمکم کنید؟
    ببخشید من خیلی مبتدی هستم
    ممنون
    ممنون.
    Last edited by shobeyr63; 2014/08/28, 21:19.
  • Juliet

    • 2014/06/17
    • 47
    • 61.00

    #2
    درود
    به خاطر اینه که بالاخره همین رشته واسه سلول ست شده، که با مقدار null در برنامه نویسی متفاوته، یه راهش اینه شرط IsBlank رو با این شرط با هم OR کنین:::::
    کد:
    IF(A1="",TRUE,FALSE)
    این طوری هم با خالی بودنش مقدار True دارین هم با ده کاراکتری بودن سلول و در واقع قرار دادن مقدار ""
    [CENTER][COLOR=#006400]«زمانيکه با زمانه خويش نساختي و با [/COLOR][COLOR=#b22222][B]مسندنشينان[/B][/COLOR][COLOR=#006400] و [/COLOR][B][COLOR=#b22222]امربران[/COLOR][/B][COLOR=#006400] ايشان کنار نيامدي
    و آنچه را [/COLOR][B][COLOR=#b22222]جاهلان [/COLOR][/B][COLOR=#006400]ميگويند، جاهلانه باز نگفتي،
    لاجرم به تبعيد ابدي گرفتار خواهي شد!
    حتي اگر جسمت در کنج منزلي در شهري ساکن باشد؛
    و اگر بر نپذيرفتن، پاي فشردي،

    [/COLOR][COLOR=#3366cc][B]آواره ات خواهند کرد،
    [/B][/COLOR][COLOR=#3333cc][B]به زندانت خواهند افکند
    [/B][/COLOR][COLOR=#333366][B] و به دارت خواهند کشيد ...»[/B][/COLOR][COLOR=#006400]
    [/COLOR][/CENTER]

    کامنت

    • shobeyr63

      • 2014/08/23
      • 15

      #3
      ممنون از پاسخت دوست گرامی
      ببینید هدف من در نهایت اینه که بتونم سلولهایی رو که شماره تلفن ثابت هست رو حذف کنم. آیا با این روشی که شما گفتین وقتی سلولها خالی شدند، می تونم با go to اون سلولها را انتخاب کنم.
      این صحبتهایی رو که کردین و گفتین (شرط isblank را با این شرط or کنین) می تونین کدش رو بنویسین؟
      ممنون میشم

      کامنت

      • Ali Parsaei
        مدير تالارتوابع اکسل

        • 2013/11/18
        • 1522
        • 71.67

        #4
        درسته که نتيجه سلول تهي مي شه ولي سلول خالي نيست چون توش فرمول نوشته ايد و صرفا" نتيجه فرمول تهي است و نه خود سلول!
        بايد با استفاده از کپي و سپس paste special و استفاده از حالت value فقط مقدار فرمول را در سر جاي فرمولها بچسبانيد. (يک سوال ديگر هم در همين رابطه کرده بوديد)
        [SIGPIC][/SIGPIC]

        کامنت

        • shobeyr63

          • 2014/08/23
          • 15

          #5
          ممنون از پاسختون
          من در سلول a شماره 8 رقمی نوشتم و در ستون b این فرمول را نوشتم:
          کد HTML:
          =IF(LEN(A1)<11,"",A1)
          و این ستون b را در ستون c کپی کردم و در هنگام paste کردن از paste special گزینه value رو انتخاب کردم.
          ولی وقتی ستون c رو انتخاب کردم و به قسمت go to رفتم و گزینه blanks رو فعال کردم و ok کردم پیغام no cells were found رو می ده.
          حتی وقتی در ستون d با تابع isblank ستون c رو چک کردم مقدار false رو می ده.
          میشه کمکم کنید و راهنمایی کنید.
          اگه میشه یه منبع مفید درباره انواع paste در اکسل و نیز حالات مختلف یک سلول معرفی کنید.
          منظورم از اینکه میگم حالات مختلف یک سلول اینست که درباره اینکه فرمودید نتیجه سلول تهی است نه خود سلول توضیح بیشتری دهید.
          منظور از تهی بودن همان حالت null هست؟
          اگه میشه یه منبعی رو به من معرفی کنید.
          ببخشید سوالم رو دو جا مطرح کردم.
          با تشکر

          کامنت

          • Ali Parsaei
            مدير تالارتوابع اکسل

            • 2013/11/18
            • 1522
            • 71.67

            #6
            بله حق با شما است، وقتي با استفاده از go to بخواهيد عمل کنيد اين خانه هايي که با روش فوق ايجاد شده را به عنوان blank نمي شناسد. البته اگر از فيلتر استفاده کنيد آنها را به عنوان blank مي شناسد.
            حالا من يک راه بهتر پيشنهاد مي کنم، به جاي "" در فرمول اصلا" يک چيزي بنويسيد مثلا": "blank" بعد همان مراحل paste special با value را انجام دهيد و دست آخر به جاي استفاده از go to از find استفاده کنيد.
            به اين صورت که ctrl+f را بزنيد، تب replace را انتخاب کنيد، در قسمت find what بنويسيد blank و در قسمت replace with چيزي ننويسيد و سپس دگمه replace all را بزنيد...... مسئله حل است!
            [SIGPIC][/SIGPIC]

            کامنت

            • shobeyr63

              • 2014/08/23
              • 15

              #7
              خیلی ممنون از پاسختون
              این کار رو کردم. همون طور که گفتید شد. با تابع isblank هم که چک کردم مقدار true رو داد.
              درسته شاید یه کم تخصصی باشه ولی میشه توضیح بدید چرا تابع go to در آن حالت قبلی که از فرمول "" استفاده کرده بودم سلول رو به عنوان blank نشناخت ولی وقتی مقدار سلول را با هیچی وارد کردم یعنی در قسمت replace مقداری وارد نکردم، اون رو به عنوان سلول Blank شناخت. در این حالت (یعنی حالت replace با هیچی) سلول من تبدیل به یک سلول null میشه؟ فکر می کنم در این مطلب یک نکته مربوط به برنامه نویسی نهفته است. اگه میشه راهنمایی کنید یا یک منبع معرفی کنید.
              ممنون از راهنمایی هاتون و سایت خوبتون.

              کامنت

              • Ali Parsaei
                مدير تالارتوابع اکسل

                • 2013/11/18
                • 1522
                • 71.67

                #8
                نوشته اصلی توسط shobeyr63
                خیلی ممنون از پاسختون
                این کار رو کردم. همون طور که گفتید شد. با تابع isblank هم که چک کردم مقدار true رو داد.
                درسته شاید یه کم تخصصی باشه ولی میشه توضیح بدید چرا تابع go to در آن حالت قبلی که از فرمول "" استفاده کرده بودم سلول رو به عنوان blank نشناخت ولی وقتی مقدار سلول را با هیچی وارد کردم یعنی در قسمت replace مقداری وارد نکردم، اون رو به عنوان سلول Blank شناخت. در این حالت (یعنی حالت replace با هیچی) سلول من تبدیل به یک سلول null میشه؟ فکر می کنم در این مطلب یک نکته مربوط به برنامه نویسی نهفته است. اگه میشه راهنمایی کنید یا یک منبع معرفی کنید.
                ممنون از راهنمایی هاتون و سایت خوبتون.
                بله يک مقدار تخصصي است، متاسفانه من اطلاعاتم در آن حد نيست که بدانم چرا اينطور مي شود، شايد بقيه دوستان بتوانند توضيح دهند.
                [SIGPIC][/SIGPIC]

                کامنت

                چند لحظه..