مشکل،درباره اعداد طولانی در اکسل

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ali.fanos

    • 2015/12/16
    • 6

    [حل شده] مشکل،درباره اعداد طولانی در اکسل

    سلام دوستان
    من میخوام تویه اکسل چون از اعداد طولانی زیاد استفاده میکنم بجاشون از عداد کوتاه استفاده کنم به طور مثال:از اعدد مثلا 200.0000.0000.000 من زیاد استفاده میکنم تویه کارهام و خیلی دیگه از این عدد های طولانی ، می خوام وقتی عدد 89 وارد کردم همون عدد 200.000.000.000 در نظر بگیره وبرای عدد 100.000.000.000 مثلا 88 در نظر بگیرم و هروقت عدد 88 تو اکسل وارد شد همون عدد طولانی(200.000.000.000) رو مد نظر قرار بده،یعنی اگه بخوام دوعدد 100.000.000.000 رو با عدد 200.000.000.000 جمع کنم تویه اکسل ،از اعداد کوتاه و ثابت 89 و 88 به جای اون اعداد بلند استفاده کنم.
  • iranweld

    • 2015/03/29
    • 3341

    #2
    با سلام
    در فایل پیوست با استفاده از قابلیت رویدادها (event)
    با وارد کردن حرف x عدد 100000000000
    و با وارد کردن حرف y عدد 200000000000
    جایگزین میگردد

    کد PHP:
    Private Sub Worksheet_Change(ByVal Target As Range)

    On Error Resume Next

    If Target.Count 1 Then GoTo 0

    If LCase(Target.Value) = LCase("y"Then
    Target
    .Value 200000000000#

    ElseIf LCase(Target.Value) = LCase("x"Then
    Target
    .Value 100000000000#

    End If

    0

    End Sub 
    فایل های پیوست شده

    کامنت

    • ali.fanos

      • 2015/12/16
      • 6

      #3
      ممنون از پاسخ شما
      از چه زبان برنامه نویسی استفاده کردید؟
      یه مقدار می تونید راهنمایی کنید که بتونم خودم اینکارو انجام بدم،اخه فقط دوتا عدد نیست طولانی نیست که استفاده می کنم،حدود 100 تا عدد طولانی هست به این شکل هست که باید به رقم های کوتاه تر مثلا(25)... تبدیل کنم

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        معمولا در کدنویسی اکسل از بیسیک استفاده میگردد.

        مسیر کدنویسی در تصویر مشخص گردیده است

        کد PHP:
        Private Sub Worksheet_Change(ByVal Target As Range)

        On Error Resume Next

        If Target.Count 1 Then GoTo 0

        If Target.Value88 Then
        Target
        .Value 100000000000#

        ElseIf Target.Value 89 Then
        Target
        .Value 200000000000#

        ElseIf Target.Value 90 Then
        Target
        .Value 300000000000#

        End If

        0

        End Sub 
        Click image for larger version

Name:	Untitled.png
Views:	1
Size:	173.2 کیلو بایت
ID:	127879
        Last edited by iranweld; 2015/12/18, 12:54.

        کامنت

        • iranweld

          • 2015/03/29
          • 3341

          #5
          ضمنا اگر وارد کردن تعداد صفر اعداد برای شما مشکل ساز است میتوانید بدون نیاز به فرمول ، در هر سلول عدد بدون صفر و سپس حرف E و بعد به تعداد صفر عدد بنویسید

          ضمنا فرمت سل ستون یا سلول مورد نظر را به Number تغییر دهید

          برای مثال 2E6 در سلول 2000000 ظاهر میگردد

          کامنت

          • ali.fanos

            • 2015/12/16
            • 6

            #6
            سلام
            اونکارهارو انجام دادم عددها رو تعیین کردم،یه مشکلی برام بوجود امده اونم اینکه من عدد بزرگتر از 200.000.000.000 ندارم که عدد 83 تعریف کردیم تو اکسل (vba)براش،و میخوام اونی عددی که بزرگتر از این نمایش داد خرد کنه برام به عنوان مثال مثلا عدد 300.0000.0000.0000 رو که هیچ عدد ثابتی براش تعریف نکردم برام خرد کنه به دوعدد که قبلا براش تعریف کردیم که یکیش 200.000.000.000 و عدد ثابتش(83) رو عدد 100.000.0000.000 که من براش عدد ثابتش رو (99)تعریف کردم.
            این دوتا عدد رو که بزرگتر از 200.000.000.000 رو خرد کنه برامون به دو عددی که قبلا تعریف کردیم، بعد هردو رو باهم جمع کنه.
            از راهنمایی شما متشکرم

            کامنت

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

              • 2013/11/18
              • 1522
              • 71.67

              #7
              سلام،
              شما مي توانيد از مسير auto correct options < proofing < excel options اين کار را انجام دهيد.


              [ATTACH=CONFIG]9795[/ATTACH]
              [SIGPIC][/SIGPIC]

              کامنت

              • ali.fanos

                • 2015/12/16
                • 6

                #8
                ممنون علی پارسا
                دقیقا کدوم کار رو؟تنظیمات من هم به همین شکل هست
                فایل های پیوست شده

                کامنت

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

                  • 2013/11/18
                  • 1522
                  • 71.67

                  #9
                  شما در قسمت replace يک چيزي تايپ مي کنيد (مثلا" عدد 89 يا حرف x يا ....) بعد در قسمت with چيزي که مي خواهيد تعويض با آن صورت گيرد را مي نويسيد (مثلا" 200.000.000.000) و ADD را مي زنيد.
                  بعد هر وقت مورد اول را تايپ کنيد اکسل اتوماتيک آن را به مورد دوم تبديل خواهد کرد.
                  به تعدادي که خواستيد مي توانيد آيتم اضافه يا کسر کنيد، همانطور که مي بينيد اکسل به طور پيش فرض يک سري موارد را هم قبلا" تخصيص داده است.
                  [SIGPIC][/SIGPIC]

                  کامنت

                  • ali.fanos

                    • 2015/12/16
                    • 6

                    #10
                    ممنون علی پارسا،اینکار رو با کمک iranweld تونستیم حل کنیم با event ها
                    الان برای جداد کردن که تو این پست #6 گذاشتم مشکل دارم

                    کامنت

                    • iranweld

                      • 2015/03/29
                      • 3341

                      #11
                      منظور خودتون رو از پست 6 در یک فایل اکسل مشخص کنید عدد وارد شده 300000000000 چطوری در سلول خرد بشه و سپس جمع شود

                      کامنت

                      • ali.fanos

                        • 2015/12/16
                        • 6

                        #12
                        فایل رو ضمیمه کردم
                        میخوام تو این event ها یه شرطی قرار بگیره که مثلا 200.000.0000.0000 بزرگتر بود،به عنوان مثال همون 300.000.000.0000 که گفتم(براش عدد ثابتی تعریف نکردم) خرد بشه به دو تا عدد که قبلا تعریف کردم(83)همون 200.000.000.000و (99)همون 100.000.000.000 بعد این دوتا رو باهم بصورت 99+83 جمع کنه .
                        فایل های پیوست شده

                        کامنت

                        چند لحظه..