تبدیل عداد با فاصله مختلف در ستون به سطر

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

  • mostafa.zarei.1
    پاسخ داد
    نوشته اصلی توسط majid_mx4
    با سلام

    ضمن تشکر از تمامی دوستانی که پاسخ دادن

    دوست عزیز جناب آقای Mostafa.zarei

    اول بهتر است توضیحی در مورد فایل شما بدهم
    فرضیه ها : تعداد ردیف نامشخص تعداد ستون مثلا 20 (منظور بیشترین تعداد عدد در یکی از ردیف مثلا 20 تا است (فقط یک فرض است )
    با توجه به اینکه محل صفر شما متغییر است اگر احتمال دهیم از میان ردیفها دو ردیف داریم که یکی صفر آن در اول و صفر دیگری آخرین عدد است پس برای اینکه این دوصفر زیر هم قرار گیرند حداقل پیشروی صفر در اول عدد 20 خانه به جلو و حداقل پس رفت صفر آخر 20 بیست خانه به عقب است.( حال اگر این عدد بجای 20 عدد 35 باشد از صفر تا اولین خانه که مثلا C2 در نظر بگیریم 35 ستون خواهد شد)
    حال اگر صفر در خانه 5 م یک ردیف باشد چی .

    آنگاه میتوانید نتیجه را در فایل پیوست مشاهده کنید . ( لطفا تست کنید با مقدار های مختلف و نتیجه را اعلام نمایید.) امیدوارم پاسخ شما باشد
    خلاصه فایل : انتقال ستون A به شیت دیتا ، انتقال و ترانسپوز کردن مقدار ها ، شناسایی صفر و جابجایی خانه ها بر اساس شناسایی بیشترین تعداد (بیشترین تعداد را شناسایی و بر اساس آن تغییر میکند )

    با تشکر میر
    با سلام و درورد فراوان به استاد گرامی
    از زحمات بی دریق شما کمال تشکر را دارم انشالله بتوانیم در آینده بیشتر از اطلاعات شما بهرمند شویم
    باتشکر شاگرد شما زارعی

    Leave a comment:


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

    ضمن تشکر از تمامی دوستانی که پاسخ دادن

    دوست عزیز جناب آقای Mostafa.zarei

    اول بهتر است توضیحی در مورد فایل شما بدهم
    فرضیه ها : تعداد ردیف نامشخص تعداد ستون مثلا 20 (منظور بیشترین تعداد عدد در یکی از ردیف مثلا 20 تا است (فقط یک فرض است )
    با توجه به اینکه محل صفر شما متغییر است اگر احتمال دهیم از میان ردیفها دو ردیف داریم که یکی صفر آن در اول و صفر دیگری آخرین عدد است پس برای اینکه این دوصفر زیر هم قرار گیرند حداقل پیشروی صفر در اول عدد 20 خانه به جلو و حداقل پس رفت صفر آخر 20 بیست خانه به عقب است.( حال اگر این عدد بجای 20 عدد 35 باشد از صفر تا اولین خانه که مثلا C2 در نظر بگیریم 35 ستون خواهد شد)
    حال اگر صفر در خانه 5 م یک ردیف باشد چی .

    آنگاه میتوانید نتیجه را در فایل پیوست مشاهده کنید . ( لطفا تست کنید با مقدار های مختلف و نتیجه را اعلام نمایید.) امیدوارم پاسخ شما باشد
    خلاصه فایل : انتقال ستون A به شیت دیتا ، انتقال و ترانسپوز کردن مقدار ها ، شناسایی صفر و جابجایی خانه ها بر اساس شناسایی بیشترین تعداد (بیشترین تعداد را شناسایی و بر اساس آن تغییر میکند )

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

    Leave a comment:


  • mostafa.zarei.1
    پاسخ داد
    نوشته اصلی توسط ~m*e*h*d*i~
    قضیه اون l,r,cl چیه؟
    cl به معنی سنترلاین به اصطلاح راه سازی آکس جاده یا مسیر راه همون هست
    r به معنی نقاطی که نقشه برداری از سمت راست مسیرمون برداشت می کنه
    l به معنی نقاطی که از سمت چپ مسیرمون برداشت می شن هست
    این عداد نقاط زمین طبیعی برداشت شده هست برای طراحی مسیر راه هست
    اعدادی که منفی یا مثبت هستن فاصله از محور راه هستن و عدادی که مثلاً با 527 شروع میشن ارتفاع از سطح دریا می باشد
    باتشکر

    Leave a comment:


  • mostafa.zarei.1
    پاسخ داد
    سلام و خسته نباشید
    مهندس فقط یه موررد کوچیک دیگه هست که حل بشه
    منظور از l همان چپ و r همان راست است و صفر مرکز جاده یا همون مسیر راه می باشد
    و این نقاط ، نقاط برداشت شده نقشه برداری مسیر راه می باشد که در برخی از موارد تعداد چپ و راست ( l,r ) نا محدود می باشد
    مثلاً : در یک مقطع احتمال می رود سمت چپ 10 نقطه برداشت شود و در سمت راست 40 نقطه برداشت شود و یا برعکس
    در این فایلی که زحمت کشیدین چپ و راست محدود شده به 6 نقطه
    در زیر فایل خام نقاط رو براتون میزارم
    فایل های پیوست شده
    Last edited by mostafa.zarei.1; 2015/09/07, 15:16.

    Leave a comment:


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

    فایل پیوست با استفاده از VB تهیه گردید

    کد PHP:
    Sub TEST()
    Dim I, J, x, y, W, Z, N, V As Long

    Macro3

    Sheet1
    .Activate

    Sheet1
    .Range("B" & 1).Activate

    x 
    = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row
    J 
    = 2

    For I = 1 To x

    If Sheet1.Range("A" & I).Value <> "" And Sheet1.Range("A" & I).Value <> "Existing" Then

    Sheet2
    .Range("A" & J).Value = Sheet1.Range("A" & I).Value

    Sheet1
    .Activate

    Sheet1
    .Range("B" & I).End(xlDown).Select
         
    W 
    = ActiveCell.Row + 1

    Sheet1
    .Range("B" & I + 1).End(xlDown).Select

    y 
    = ActiveCell.Row

    For x = W To y

    If Range("B" & x).Value = "0.000" Then
    Z 
    = Range("B" & x).Row


    If y - W < 10 Then
    MsgBox 
    "ERROR"
    End If

    Sheet2.Range("I" & J).Value = Sheet1.Range("B" & Z).Value
    Sheet2
    .Range("I" & J + 1).Value = Sheet1.Range("C" & Z).Value

    '===================


    Sheet2.Range("H" & J).Value = Sheet1.Range("B" & Z - 1).Value
    Sheet2.Range("H" & J + 1).Value = Sheet1.Range("C" & Z - 1).Value

    Sheet2.Range("G" & J).Value = Sheet1.Range("B" & Z - 2).Value
    Sheet2.Range("G" & J + 1).Value = Sheet1.Range("C" & Z - 2).Value

    Sheet2.Range("F" & J).Value = Sheet1.Range("B" & Z - 3).Value
    Sheet2.Range("F" & J + 1).Value = Sheet1.Range("C" & Z - 3).Value

    Sheet2.Range("E" & J).Value = Sheet1.Range("B" & Z - 4).Value
    Sheet2.Range("E" & J + 1).Value = Sheet1.Range("C" & Z - 4).Value


    If Sheet1.Range("B" & Z - 6).Value <> "" And Sheet1.Range("B" & Z - 6).Value <> "ground:" Then

    Sheet2.Range("C" & J).Value = Sheet1.Range("B" & Z - 6).Value
    Sheet2.Range("C" & J + 1).Value = Sheet1.Range("C" & Z - 6).Value
    End If

    If Sheet1.Range("B" & Z - 5).Value <> "" And Sheet1.Range("B" & Z - 5).Value <> "ground:" Then

    Sheet2.Range("D" & J).Value = Sheet1.Range("B" & Z - 5).Value
    Sheet2.Range("D" & J + 1).Value = Sheet1.Range("C" & Z - 5).Value
    End If

    If Sheet1.Range("B" & Z - 7).Value <> "" And Sheet1.Range("B" & Z - 7).Value <> "ground:" Then

    Sheet2.Range("B" & J).Value = Sheet1.Range("B" & Z - 7).Value
    Sheet2.Range("B" & J + 1).Value = Sheet1.Range("C" & Z - 7).Value
    End If

    '
    ===========================================

    Sheet2.Range("J" & J).Value = Sheet1.Range("B" & Z + 1).Value
    Sheet2
    .Range("J" & J + 1).Value = Sheet1.Range("C" & Z + 1).Value

    Sheet2
    .Range("K" & J).Value = Sheet1.Range("B" & Z + 2).Value
    Sheet2
    .Range("K" & J + 1).Value = Sheet1.Range("C" & Z + 2).Value

    Sheet2
    .Range("L" & J).Value = Sheet1.Range("B" & Z + 3).Value
    Sheet2
    .Range("L" & J + 1).Value = Sheet1.Range("C" & Z + 3).Value

    Sheet2
    .Range("M" & J).Value = Sheet1.Range("B" & Z + 4).Value
    Sheet2
    .Range("M" & J + 1).Value = Sheet1.Range("C" & Z + 4).Value

    If Sheet1.Range("B" & Z + 5).Value <> "" And Sheet1.Range("B" & Z + 6).Value <> "ground:" Then
    Sheet2
    .Range("N" & J).Value = Sheet1.Range("B" & Z + 5).Value
    Sheet2
    .Range("N" & J + 1).Value = Sheet1.Range("C" & Z + 5).Value
    End 
    If

    If 
    Sheet1.Range("B" & Z + 6).Value <> "" And Sheet1.Range("B" & Z + 6).Value <> "ground:" Then
    Sheet2
    .Range("O" & J).Value = Sheet1.Range("B" & Z + 6).Value
    Sheet2
    .Range("O" & J + 1).Value = Sheet1.Range("C" & Z + 6).Value
    End 
    If



    'MsgBox W & "***" & Z & "***" & y

    End If
    Next x



    Sheet2.Activate

    J = J + 2

    End If



    Next I



    End Sub 
    فایل های پیوست شده
    Last edited by iranweld; 2015/08/18, 01:39.

    Leave a comment:


  • mohammad_ashooryan
    پاسخ داد
    با سلام و كسب اجازه از استاد عزيز جناب مهندس وطن پرست
    فايل مورد نظر پيوست گرديد.
    نكات:
    1-فرمولها به صورت آرايه اي وارد شده اند.
    2- براي كپي سطري محدوده فرمول سطر1 و 2 رو با هم انتخاب كرده و به سمت پايين بكشيد.
    3- چنانچه بعد از كپي فرمول عبارات ground , surface1 , صفر مشاهده نموديد ميتوانيد بعد از اعمال فرمولها و سپس كپي پيست value عبارات مذكور را با تهي replace كنيد تا به نتيجه مورد نظر برسيد.
    zamin tabiei2.xlsx

    Leave a comment:


  • ~M*E*H*D*I~
    پاسخ داد
    قضیه اون L,R,Cl چیه؟

    Leave a comment:


  • تبدیل عداد با فاصله مختلف در ستون به سطر

    سلام و خسته نباشد به دوستان
    من داخل برنامه اکسل به فایل دارم ( که پیوست همین متن هست )
    می خوام اعدادی کی در sheet1 هستن که با فاصله متغییر هستن به حالت نمونه sheet2 به صورت سطر در بیان
    اگه میشه یه راه کاری نشوننم بدین خیلی ممنون میشم اخه خیلی عدد هستن بالای 3 هزار تا هستن

    این روش رو هم بلدم ولی خیلی طول می کشه ( اعداد مورد نظر را کپی کرده و در قسمت paste specialگزینه transpose را تیک زده و بعد ok را بزنید )
    روش بالا برای وقتی هست که تعداد داده ها مون کم باشه ولی و قتی من با 4 یا 5 هزار عدد سرو کاردارم اونوقت باید چه کنم .
    (((( دوستان لطفا راهنمایی بفرمایین خیلی خیلی برام مهمه ))))

    راستش یه طراحی راه سازی دارم این خروجی برنامه land desktop هستش که می خوام تبدیلش کنم به ورودی برنامه CSDP اگه راهکاری نشونم ندین مجبورم 4 الی 5 هزار عدد رو هی copy , paste کنم

    مشکل من اینجاست که هروقت یه دسته از عداد رو که copy میکنم باید طوری paste کنم که تمام صفرها در یه ستون باشن و تعداد عداد چپ و راست همیشه متغییر هستن

    امیدوارم مدیران خوبمون یه راهکاری بهم ارائه بدن
    فایل های پیوست شده
    Last edited by mostafa.zarei.1; 2015/08/16, 11:18.
چند لحظه..