مشکل با یک فرم و تابع ساده

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

    • 2012/09/24
    • 147

    مشکل با یک فرم و تابع ساده

    سلام:
    من به یه مشکب برخوردم البته می دونم ساده است اما برای من که کبتدی هستم پیچیده و سخت به نظر میاد:
    من سه ستون دارم :
    می خوام:
    در ستون A هرچه وارد می کنم(عدد) در ستون C عدد 5000 نمایش داده شود مثلا در سلول َA1 می زنم 15820 در سلول C1 عدد 5000 نمایش داده بشه و .....
    حالا در ستون B همین کار رو می خوام انجام دهم :
    در ستون B هرچه وارد می کنم(عدد) در ستون C عدد 3000 نمایش داده شود مثلا در سلول َB1 می زنم 15820 در سلول C1 عدد 3000 نمایش داده بشه و .....
    حالا دو تا مشکل وجود دارد اول اینکه :
    من فقط می خوام عدد رو در یکی از ستونها Aو یا B وارد کنم و ستون C1 باید تشخیص دهد کدوم خاصیت رو در خود جای دهد یعنی اینکه اگر در ستون a وارد کردم عدد 5000 رو نمایش دهد و اگر در ستون B وارد کردم عدد 3000 رو نمایش دهد ...خوب برای اینکار من از فرمول زیر استفاده کردم (البته با کلی سرچ و آزمون و خطا)و به نتیجه رسیدم اما در جای دیگه به مشکل برخوردم:
    کد:
    =IF(ISBLANK(D2)=TRUE;"";(50000))&IF(ISBLANK(E2)=TRUE;"";30000)
    مشکل اینجاست که بعد وارد شده داده ها به ستونها A و B و پر شدن سلولهای C می خوام حاصل جمع ستون C در سلول D1 نوشته شود اما متاسفانه سلول D1 داده های ستون C رو به عنوان عدد نمیشناسه که جمع و یا هر عمل ریاضی رو انجام بده....
    مشکل همین بود سعی کردم کامل توضیح بدم ...شرمنده اگه میش راهنمایی نمایید...
    ممنون
  • ACE

    • 2012/09/24
    • 147

    #2

    می خواستم هرچه در ستون مبلغ جدید می زنم در ستون درصد 1 مبلغ50000 رو نمایش بده و هرچه در ستون مبلغ تمدید می زنم در ستون در صد 1 مبلغ 30000 رو نمایش بده و در آخر حاصل ستون درصد 1 رو در سلول اول از ستون کل نمایش بده...

    کامنت

    • generalsamad
      مدير تالار توابع

      • 2014/06/22
      • 1496

      #3
      با سلام
      از این فرمول استفاده کردم
      ببینید همین منظورتونه؟
      کد PHP:
      =if(a1<>"";50000;if(b1<>"";30000;"")) 
      فقط توی ستون a و b باید عدد وارد کنید
      اگه احتمال میدید که کاربر متن وارد کنه باید فرمول رو تغییر داد
      فایل ضمیمه گردید
      فایل های پیوست شده
      [CENTER]
      [SIGPIC][/SIGPIC]
      [/CENTER]

      کامنت

      • ACE

        • 2012/09/24
        • 147

        #4
        نوشته اصلی توسط generalsamad
        با سلام
        از این فرمول استفاده کردم
        ببینید همین منظورتونه؟
        کد PHP:
        =if(a1<>"";50000;if(b1<>"";30000;"")) 
        فقط توی ستون a و b باید عدد وارد کنید
        اگه احتمال میدید که کاربر متن وارد کنه باید فرمول رو تغییر داد
        فایل ضمیمه گردید
        ممنون استاد...حل شد ...
        اگر بخوام کمتر از یک عدد در ستونهای مبلغ جدید و مبلغ تمدید ثبت نشه چکار باید کرد؟مثلا زیر 50000 ثبت نشه و ارور بده..
        قرار است توی ستون کل 3 حاصل جمع درصد 2 و بستانکار و منهای بدهکار نمایش داده شود...البته نمی دونم توی ستون درصد 2 که قراره جمع مبلغ جدید و مبلغ تمدید منهای درصد 1 باشه پیغام value درام
        واینکه چرا پیغام value رو دارم ؟
        Last edited by ACE; 2015/05/25, 00:07.

        کامنت

        • generalsamad
          مدير تالار توابع

          • 2014/06/22
          • 1496

          #5
          برای پیغام Value باید از تابع iferror استفاده کنید
          مثلا برای فرمول بالا که قرار دادید اینطور میشه
          کد PHP:
          =IFERROR(IF(ISBLANK(D2)=TRUE;"";(50000))&IF(ISBLANK(E2)=TRUE;"";30000);""
          واسه پیغام دادن هم از دیتا ولیدیشن میتونید استفاده کنید
          ریبون Data=>DataValidation
          سربرگ Setting و Allow روی Whole Number قرار داده و در لیست منوی اون greater than or equal to رو انتخاب و عدد 50000 رو توی فیلد Minimum وارد کرده و ok کنید
          میتونید یه پیغام هم برای نمایش توی سربرگ Error Alart وارد کنید
          فایل ضمیمه گردید
          فایل ضمیمه گردید
          فایل های پیوست شده
          Last edited by generalsamad; 2015/05/25, 00:45.
          [CENTER]
          [SIGPIC][/SIGPIC]
          [/CENTER]

          کامنت

          • ACE

            • 2012/09/24
            • 147

            #6
            سلام »
            فایل رو ضمیمه کردم....ممنون
            فایل های پیوست شده

            کامنت

            • generalsamad
              مدير تالار توابع

              • 2014/06/22
              • 1496

              #7
              سلام
              الان مشکل فایلتون چیه؟
              [CENTER]
              [SIGPIC][/SIGPIC]
              [/CENTER]

              کامنت

              • ACE

                • 2012/09/24
                • 147

                #8
                نوشته اصلی توسط generalsamad
                سلام
                الان مشکل فایلتون چیه؟
                ستون درصد 2 و ستون کل 3 ارور Value میده...نمی دونم چرا ارور میده دستوارت ساده ای هم گذاشتم...یه جمع و تفریق بوده

                کامنت

                • Javid Mokhtari
                  مدير تالار ويژوال بيسيك

                  • 2012/01/16
                  • 1212
                  • 73.00

                  #9
                  نوشته اصلی توسط ACE
                  ستون درصد 2 و ستون کل 3 ارور Value میده...نمی دونم چرا ارور میده دستوارت ساده ای هم گذاشتم...یه جمع و تفریق بوده
                  با سلام.
                  منکه اروری ندیدم
                  [FONT=Tahoma][INDENT][CENTER][SIZE=3][FONT=courier new][B][FONT=comic sans ms][SIZE=3][FONT=arial]دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
                  بیش از [COLOR=#008000]60[/COLOR] جلسه آموزش ویدئویی رایگان

                  شرکت در دوره:
                  [/FONT][/SIZE]
                  [SIZE=5] [FONT=Tahoma][FONT=courier new][B][URL]https://javidsoft.ir/courses/[/URL][/B][/FONT][/FONT][/SIZE][/FONT]
                  [/B][/FONT][/SIZE]
                  [/CENTER]
                  [/INDENT]
                  [/FONT]

                  کامنت

                  • ACE

                    • 2012/09/24
                    • 147

                    #10
                    نوشته اصلی توسط jansiz hayat
                    با سلام.
                    منکه اروری ندیدم
                    سلام دوست من...
                    چطور ارور نبود...
                    می دونید چی شده:برای ستون درصد 2 تعریف کردم» مبلغ (جدید)+مبلغ(تمدید)-درصد 1 بکن
                    حالا ستون درصد 2 همیشه منتظر است که سلولهای این سه ستون بالا پر بشن بعد به خودش عدد بگیره به همین خاطر در صورت عدم پر بودن سلولهای اون سه ستون پیغام Value به خود میگیره و در نهایت ستون کل 3 هم که به ستون درصد 2 وابسته است هم پیغام value میگیره...
                    در واقع باید کاری بکنیم که ستون درصد 2 در حالت معمول و بدون اینکه سلولهای دیگر شده باشند بصورت صفر باشه.....و زمانی که سلولهای دیگر (مبلغ جدید و مبلغ تمدید و درصد 1)پرشدن طبق فرمول و دستور خودش عمل کنه...
                    فایل رو دوباره پیوست کردم که پیغام Value داره...
                    با تشکر
                    فایل های پیوست شده

                    کامنت

                    • Javid Mokhtari
                      مدير تالار ويژوال بيسيك

                      • 2012/01/16
                      • 1212
                      • 73.00

                      #11
                      اول بذارید یکم در مورد خطای #VALUE! بگم.این خطا زمانی رخ می دهد که اعتبار داده های سلول ها با یکدیگر متفاوت باشد یا آن اعتبار توسط سلول دارای فرمول پیدا نشود.
                      خب الان ما اینجا دوتا سلول مرجع(مبلغ ها) و دوتا سلول حاوی فرمول (درصد ها)داریم.
                      خب اعتبار یا نوع داده های ستون مبلغ ها از نوع عددی هستش اما مشکل کجاست...؟
                      یک نگاهی به فرمول زیر بندازین...
                      کد PHP:
                      =IF(D2<>""؛50000؛IF(E2<>""؛30000؛"")) 
                      شما در فرمول بالا نوشتین که اگر شرط های شما برقرار نبود مقداری خالی("") را در سلول قرار دهد این یعنی یک مقدار متنی.خب دو ستون مبلغ ها از نوع عددی ولی ستون درصد1 از نوع متنی.پس اعتبار یا نوع داده های سه تا سلول با یکدیگر یکی نیستن و این یعنی خطای #VALUE!.

                      حال راه حل:
                      *** در فرمول بالا مقدار "" را به صفر تغییر بدین (فقط آخریشو تغییر بدین)
                      *** از تابع if error در ستون درصد2 استفاده کنید
                      کد PHP:
                      =IFERROR((D2+E2)-G2؛""
                      *** ...
                      Last edited by Javid Mokhtari; 2015/05/25, 18:13.
                      [FONT=Tahoma][INDENT][CENTER][SIZE=3][FONT=courier new][B][FONT=comic sans ms][SIZE=3][FONT=arial]دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
                      بیش از [COLOR=#008000]60[/COLOR] جلسه آموزش ویدئویی رایگان

                      شرکت در دوره:
                      [/FONT][/SIZE]
                      [SIZE=5] [FONT=Tahoma][FONT=courier new][B][URL]https://javidsoft.ir/courses/[/URL][/B][/FONT][/FONT][/SIZE][/FONT]
                      [/B][/FONT][/SIZE]
                      [/CENTER]
                      [/INDENT]
                      [/FONT]

                      کامنت

                      • ACE

                        • 2012/09/24
                        • 147

                        #12
                        نوشته اصلی توسط jansiz hayat
                        اول بذارید یکم در مورد خطای #VALUE! بگم.این خطا زمانی رخ می دهد که اعتبار داده های سلول ها با یکدیگر متفاوت باشد یا آن اعتبار توسط سلول دارای فرمول پیدا نشود.
                        خب الان ما اینجا دوتا سلول مرجع(مبلغ ها) و دوتا سلول حاوی فرمول (درصد ها)داریم.
                        خب اعتبار یا نوع داده های ستون مبلغ ها از نوع عددی هستش اما مشکل کجاست...؟
                        یک نگاهی به فرمول زیر بندازین...
                        کد PHP:
                        =IF(D2<>""؛50000؛IF(E2<>""؛30000؛"")) 
                        شما در فرمول بالا نوشتین که اگر شرط های شما برقرار نبود مقداری خالی("") را در سلول قرار دهد این یعنی یک مقدار متنی.خب دو ستون مبلغ ها از نوع عددی ولی ستون درصد1 از نوع متنی.پس اعتبار یا نوع داده های سه تا سلول با یکدیگر یکی نیستن و این یعنی خطای #VALUE!.

                        حال راه حل:
                        *** در فرمول بالا مقدار "" را به صفر تغییر بدین (فقط آخریشو تغییر بدین)
                        *** از تابع if error در ستون درصد2 استفاده کنید
                        کد PHP:
                        =IFERROR((D2+E2)-G2؛""
                        *** ...
                        استاد دستت طلا از دوستان عزیزی که وقت گذاشتن و بنده رو راهنمایی نمودن کمال تشکر رو دارم...
                        یا علی

                        کامنت

                        چند لحظه..