ایجاد تابعی برای نزدیک شدن ودور شدن به عددی خاص

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

  • reza_1001
    پاسخ داد
    2 تا عدد هست که بین 0 تا 360 هست و بایداین 2 تا عدد از هم کم بشن که حاصل تفریقشون ( با اون تابعی که در فایل هست ) همیشه بین 0 تا 180هست
    در مورد تابع تفریق خدمتتون عرض کنم که درست هست مثلا اگر عدد a ، 10 باشد و عدد b ، 250 باشه حاصل تفریشون بدون تابع -240 میشه که اشتباه هست بخاطر همین این تابع رو باید استفاده کنم که عدد حاصل تفریق همیشه بین0 تا 180 هست
    چون فرمودید تابع در فایل شما کاربرد نداره براتون مینویسم :

    Public Function تفریق(a, b, c)


    a = a - (Int(a / 360) * 360)
    b = b - (Int(b / 360) * 360)

    If a < 0 Then a = 360 + a
    If b < 0 Then b = 360 + b

    تفریق = WorksheetFunction.Min(Abs(a - b), 360 - Abs(a - b))
    If c = 1 Then تفریق = WorksheetFunction.Max(Abs(a - b), 360 - Abs(a - b))

    همچنین تابعی که خودم نوشتم برای مشکلم که خواستم تصحیحیش کنید
    Public Function asp(a)
    If a > 0 And a < 10 Then
    asp = "x"
    ElseIf a > 60 And a < 70 Then
    asp = " x"
    ElseIf a > 50 And a < 60 Then
    asp = "y"
    ElseIf a > 50 And a < 60 Then
    asp = "x "
    ElseIf a > 60 And a < 70 Then
    asp = "y "
    ElseIf a > 170 And a < 180 Then
    asp = "x"
    ElseIf a > 170 And a < 180 Then
    asp = "y"
    Else
    asp = ""
    End If
    End Function



    End Function
    Last edited by reza_1001; 2019/04/02, 15:50.

    Leave a comment:


  • iranweld
    پاسخ داد
    ضمنا تابع تفریقی که در فایل شما وجود داره در فرمول ارسالی بنده کاربرد نداره

    Leave a comment:


  • iranweld
    پاسخ داد
    نوشته اصلی توسط reza_1001
    اولا دستتون درد نکنه
    ثانیا فایل رو دیدم ولی مشکلم حل نشد چون شما تفریق a ازb رو یکبار از 0 تا 180 (مثبت) فرض کردید و یکبار از 180 به 0 (منفی ) فرض کردید ، در حالی که در هر 2حالت اعدادی که از تابع تفریق محاسبه میشه مثبت هستند یعنی چه از سمت 0 به 180 و چه از سمت 180 به 0 .
    مشکل منم همینه که در هر 2 حالت مثبت هستند .
    لطفا بفرمایید ورودی اعداد شما هر بار دو تا عدد هستش یا یک عدد ؟

    Leave a comment:


  • reza_1001
    پاسخ داد
    اولا دستتون درد نکنه
    ثانیا فایل رو دیدم ولی مشکلم حل نشد چون شما تفریق a ازb رو یکبار از 0 تا 180 (مثبت) فرض کردید و یکبار از 180 به 0 (منفی ) فرض کردید ، در حالی که در هر 2حالت اعدادی که از تابع تفریق محاسبه میشه مثبت هستند یعنی چه از سمت 0 به 180 و چه از سمت 180 به 0 .
    مشکل منم همینه که در هر 2 حالت مثبت هستند .

    Leave a comment:


  • iranweld
    پاسخ داد
    با سلام

    فایل پیوست را بررسی بفرمایید.

    کد PHP:
    =IF(AND(F9-G9>=-70,F9-G9<=-60),"x",IF(AND(F9-G9>-60,F9-G9<=-50),"y","")) 
    و

    کد PHP:
    =IF(AND(F14-G14>=50,F14-G14<=60),"x",IF(AND(F14-G14>60,F14-G14<=70),"y","")) 
    و بصورت یک قرمول کلی

    کد PHP:
    =IF(AND(F9-G9>=-70,F9-G9<=-60),"x",IF(AND(F9-G9>-60,F9-G9<=-50),"y",IF(AND(F9-G9>=50,F9-G9<=60),"x",IF(AND(F9-G9>60,F9-G9<=70),"y","")))) 
    فایل های پیوست شده
    Last edited by iranweld; 2019/04/02, 12:19.

    Leave a comment:


  • reza_1001
    پاسخ داد
    سلام خدمت iranweld ببخشیداگه نتونستم زودتر جوابتون روببینم
    خدمتتون عرض کنم که ما فقط یه عدد داریم که از تفریق دوعدد دیگر بدست میاد که همین عددی حاصل تفریقمون هست بین 0تا 180 است
    فایل مورد نظر رو براتون قرار میدم


    در فایل توضیحات رو دادم

    Leave a comment:


  • iranweld
    پاسخ داد
    با سلام

    فعلا نمونه اولیه فایل را بررسی بفرمایید

    Click image for larger version

Name:	Untitled.png
Views:	1
Size:	39.2 کیلو بایت
ID:	135171
    فایل های پیوست شده

    Leave a comment:


  • ایجاد تابعی برای نزدیک شدن ودور شدن به عددی خاص

    سلام خدمت اساتید ودوستان محترم
    نگید سوالت عجیب غریبه چون این تابع توی نجوم کابرد داره
    من میخوام یه تابعی بنویسم که وقتی به یک عدد خاصی نزدیک میشه یه عبارت خاصی نشون بده و وقتی از اون عدد دور میشه یه عبارت دیگری نشون بده

    بازه اعداد از 0 تا 180 است و همچنین 2 نوع حرکت داریم حرکت عادی و حرکت معکوس یعنی به حرکت عادی از 0 شروع میشه تا 180 وبه حرکت معکوس از 180 به سمت 0 حرکت میکنه

    2دسته عدد داریم :
    دسته اول :اعدادی هستند که حرکت عادی ومعکوس براشون فرقی نداره که عبارتند از 0 و 180
    مثلا عدد مورد نظر 180 است ومیخوام وقتی از 170 به سمت 180 نزدیک میشه عبارت x رونشون بده و وقتی از 180 به سمت 170 نزدیک میشه عبارت y رو نشون بده وتوی عدد 0 هم همینطوره وقتی از 10 به سمت 0 میاد x رو نشون بده ووقتی از 0 به سمت 10 حرکت میکنه عبارت y رونشون بده

    دسته دوم :اعدادی هستند که حرکت عادی ومعکوس براشون فرق میکنه که اعداد مابین 0 تا 180 هستند
    مثلا عدد موردنظر 70 است که یه بار برای حرکت عادی محاسبه باید بشه و یه بار برای حرکت معکوس یعنی
    در حرکت عادی وقتی از 60 به سمت 70 حرکت میکنه عبارت x و وقتی از 70 به سمت 80 حرکت میکنه عبارت y رو نشون بده
    در حرکت معکوس وقتی از 80 به سمت 70 حرکت میکنه عبارت x و وقتی از 70 به سمت 60 حرکت میکنه عبارت y رو نشون بده
چند لحظه..