مقایسه ی 5 ستون و رنگ آمیزی کردن داده ها از بزرگ به کوچک

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

    • 2015/09/16
    • 8

    پرسش مقایسه ی 5 ستون و رنگ آمیزی کردن داده ها از بزرگ به کوچک

    سلام

    من 5 ستون داده دارم که میخوام اکسل در هر ردیف این 5 ستون رو با هم مقایسه کنه و بزرگترین عدد در هر ردیف را مثلا قرمز ، بعدی زرد و سومی نارنجی و چهارمی بنفش و کوچکترین عدد رو صورتی کنه ( در صورتی که داده های مثلا 3 ستون در یک ردیف با هم برابر شد ( مثلا در ردیف 4 ، 3 ستون دارای عدد 100 و دو ستون یکی 70 و دیگری 90 بود) با توجه به همان رنگ آمیزی قبلی عمل کند . مثلا در مثال ذکر شده در ردیف 4 ، 3 ستونی که دارای عدد 100 بودن قرمز و ستون دارای عدد 90 زرد و ستون دارای عدد 70 نارنجی بشه )

    ممنون
  • s.cheraghi

    • 2011/02/27
    • 311

    #2
    سلام
    با فرض اینکه داده های شما در ستون A تا E قرار داشته باشند از فرمول زیر در Conditional Formatting استفاده کنین:
    کد PHP:
    =IF(A1=LARGE($A1:$E1,#),1,0) 
    در صورتیکه میخواهین تا 4 عدد برزگ در هر سطر رنگی شود، باید چهار قانون ایجاد کنین که در هریک از آنها مقدار #، از یک تا چهار تغییر کند.
    در نهایت برای هر قانون رنگ های دلخواه را انتخاب کنین.
    در یادگیری سیر نشوید :idea:

    برای ارتباط بیشتر به [URL="https://excelpedia.net/"]سایت[/URL] [URL="https://excelpedia.net"][B][COLOR=#008000]ExcelPedia [/COLOR][/B][/URL]سربزنید.
    برگزاری [URL="https://excelpedia.net/excel-ninja/"]دوره های آموزش[/URL] [URL="https://excelpedia.net/what-is-excel/"][B]اکسل [/B][/URL]در تهران
    [URL="https://excelpedia.net/category/excel-functions/"][B]آموزش توابع اکسل[/B][/URL]

    کامنت

    • Rose1

      • 2015/09/16
      • 8

      #3
      نوشته اصلی توسط s.cheraghi
      سلام
      با فرض اینکه داده های شما در ستون A تا E قرار داشته باشند از فرمول زیر در Conditional Formatting استفاده کنین:
      کد PHP:
      =IF(A1=LARGE($A1:$E1,#),1,0) 
      در صورتیکه میخواهین تا 4 عدد برزگ در هر سطر رنگی شود، باید چهار قانون ایجاد کنین که در هریک از آنها مقدار #، از یک تا چهار تغییر کند.
      در نهایت برای هر قانون رنگ های دلخواه را انتخاب کنین.
      یک دنیا از لطف شما ممنونم فقط نکته ای که هست من تقریبا در اکسل تازه کارم و نمی دونم چجوری 4 قانون برای 4 رنگ مختلف ایجاد کنم . میخواستم سوال کنم که امکانش هست در فایل ضمیمه (نمونه ی کوچک 6 ستون و 5 ردیف ) بهم نشون بدین که چکار باید کنم ؟
      جسارت من رو ببخشید ولی چند سوال دیگر هم در خصوص فرمولی که لطف کردین دارم : آیا این روش را میتوان برای فایلی که دارای 8 ستون و 2000 ردیف هست استفاده کرد ؟ همچنین در خصوص مقادیر ستون های مساوی آیا بدرستی عمل می کند(
      در صورتی که داده های مثلا 3 ستون در یک ردیف با هم برابر شد ( مثلا در ردیف 4 ، 3 ستون دارای عدد 100 و دو ستون یکی 70 و دیگری 90 بود) با توجه به همان رنگ آمیزی قبلی عمل کند . مثلا در مثال ذکر شده در ردیف 4 ، 3 ستونی که دارای عدد 100 بودن قرمز و ستون دارای عدد 90 زرد و ستون دارای عدد 70 نارنجی بشه )
      ؟

      بازم از لطف شما نهایت سپاس رو دارم
      فایل های پیوست شده
      Last edited by Rose1; 2015/09/16, 17:18.

      کامنت

      • s.cheraghi

        • 2011/02/27
        • 311

        #4
        نوشته اصلی توسط Rose1
        یک دنیا از لطف شما ممنونم فقط نکته ای که هست من تقریبا در اکسل تازه کارم و نمی دونم چجوری 4 قانون برای 4 رنگ مختلف ایجاد کنم . میخواستم سوال کنم که امکانش هست در فایل ضمیمه (نمونه ی کوچک 6 ستون و 5 ردیف ) بهم نشون بدین که چکار باید کنم ؟
        جسارت من رو ببخشید ولی چند سوال دیگر هم در خصوص فرمولی که لطف کردین دارم : آیا این روش را میتوان برای فایلی که دارای 8 ستون و 2000 ردیف هست استفاده کرد ؟ همچنین در خصوص مقادیر ستون های مساوی آیا بدرستی عمل می کند(
        در صورتی که داده های مثلا 3 ستون در یک ردیف با هم برابر شد ( مثلا در ردیف 4 ، 3 ستون دارای عدد 100 و دو ستون یکی 70 و دیگری 90 بود) با توجه به همان رنگ آمیزی قبلی عمل کند . مثلا در مثال ذکر شده در ردیف 4 ، 3 ستونی که دارای عدد 100 بودن قرمز و ستون دارای عدد 90 زرد و ستون دارای عدد 70 نارنجی بشه )
        ؟

        بازم از لطف شما نهایت سپاس رو دارم
        فایل پیوست رو ببینید.
        هر محدوده ای رو که میخواین این قوانین بر اون اعمال بشه قبل از ایجاد آنها در Conditional Formatting انتخاب کنین یا بعد از ایجاد قوانین محدوده موردنظرتون رو در قسمت Applied to: مشخص کنین.
        نتیجه تکرار شدن چند عدد در ردیف در فایل هست، به نظرم درست کار میکنه
        فایل های پیوست شده
        در یادگیری سیر نشوید :idea:

        برای ارتباط بیشتر به [URL="https://excelpedia.net/"]سایت[/URL] [URL="https://excelpedia.net"][B][COLOR=#008000]ExcelPedia [/COLOR][/B][/URL]سربزنید.
        برگزاری [URL="https://excelpedia.net/excel-ninja/"]دوره های آموزش[/URL] [URL="https://excelpedia.net/what-is-excel/"][B]اکسل [/B][/URL]در تهران
        [URL="https://excelpedia.net/category/excel-functions/"][B]آموزش توابع اکسل[/B][/URL]

        کامنت

        • Rose1

          • 2015/09/16
          • 8

          #5
          یک دنیا از شما ممنونم اما گویا مشکلی وجود دارد در فایلی که ضمیمه فرمودید در سطر اول عدد 4 سومین عدد کوچک در ردیف اول هست که با رنگ قرمز تیره مشخص شده اما در ردیف پنجم عدد 0 ، سومین عدد کوچک در ردیف هست که با رنگ صورتی ( معادل رنگ پمجمین عدد کوچک در ردیف اول) مشخص شده است
          Last edited by Rose1; 2015/09/17, 02:43.

          کامنت

          • s.cheraghi

            • 2011/02/27
            • 311

            #6
            نوشته اصلی توسط Rose1
            یک دنیا از شما ممنونم اما گویا مشکلی وجود دارد در فایلی که ضمیمه فرمودید در سطر اول عدد 4 سومین عدد کوچک در ردیف اول هست که با رنگ قرمز تیره مشخص شده اما در ردیف پنجم عدد 0 ، سومین عدد کوچک در ردیف هست که با رنگ صورتی ( معادل رنگ پمجمین عدد کوچک در ردیف اول) مشخص شده است
            متوجه حالت تکراری نبودم
            وقتی داده های تکراری داشته باشیم فرمول های Large، Small , Rank این مشکل را دارند که با استفاده از Countif حل میشه.
            از فرمول زیر به جای فرمول قبلی در بخش Conditional formatting استفاده کنین:

            کد PHP:
            =IF(RANK(A1,$A1:$F1)+COUNTIF($A1:A1,A1)-1=#,1,0) 
            در هر قانون مقدار #، از یک تا پنج تغییر کند.
            در یادگیری سیر نشوید :idea:

            برای ارتباط بیشتر به [URL="https://excelpedia.net/"]سایت[/URL] [URL="https://excelpedia.net"][B][COLOR=#008000]ExcelPedia [/COLOR][/B][/URL]سربزنید.
            برگزاری [URL="https://excelpedia.net/excel-ninja/"]دوره های آموزش[/URL] [URL="https://excelpedia.net/what-is-excel/"][B]اکسل [/B][/URL]در تهران
            [URL="https://excelpedia.net/category/excel-functions/"][B]آموزش توابع اکسل[/B][/URL]

            کامنت

            • iranweld

              • 2015/03/29
              • 3341

              #7
              نوشته اصلی توسط Rose1
              یک دنیا از شما ممنونم اما گویا مشکلی وجود دارد در فایلی که ضمیمه فرمودید در سطر اول عدد 4 سومین عدد کوچک در ردیف اول هست که با رنگ قرمز تیره مشخص شده اما در ردیف پنجم عدد 0 ، سومین عدد کوچک در ردیف هست که با رنگ صورتی ( معادل رنگ پمجمین عدد کوچک در ردیف اول) مشخص شده است

              با سلام

              در فایل پیوست 5 عدد بزرگ هر ستون به یک رنگ مشخص میگردد
              فایل های پیوست شده

              کامنت

              • Rose1

                • 2015/09/16
                • 8

                #8
                نوشته اصلی توسط s.cheraghi
                متوجه حالت تکراری نبودم
                وقتی داده های تکراری داشته باشیم فرمول های Large، Small , Rank این مشکل را دارند که با استفاده از Countif حل میشه.
                از فرمول زیر به جای فرمول قبلی در بخش Conditional formatting استفاده کنین:

                کد PHP:
                =IF(RANK(A1,$A1:$F1)+COUNTIF($A1:A1,A1)-1=#,1,0) 
                در هر قانون مقدار #، از یک تا پنج تغییر کند.
                با سلام
                متاسفانه آقای چراغی عزیز این فرمول در خصوص داده های تکراری باز هم صحیح عمل نمی کند . به طور مثال در ردیف چهارم ، شش عدد 4 وجود دارد که هر کدام را به یک رنگ در می آورد در حالی که عدد 4 در این ردیف بزرگترین عدد می باشد
                Last edited by Rose1; 2015/09/18, 00:35.

                کامنت

                • Rose1

                  • 2015/09/16
                  • 8

                  #9
                  نوشته اصلی توسط iranweld
                  با سلام

                  در فایل پیوست 5 عدد بزرگ هر ستون به یک رنگ مشخص میگردد
                  دوست عزیز متاسفانه فرمولی که استفاده کردین رو نمیتونم پیدا کنم + در خصوص فایل های تکراری باز هم مشکل وجود دارد

                  کامنت

                  • iranweld

                    • 2015/03/29
                    • 3341

                    #10
                    نوشته اصلی توسط Rose1
                    دوست عزیز متاسفانه فرمولی که استفاده کردین رو نمیتونم پیدا کنم + در خصوص فایل های تکراری باز هم مشکل وجود دارد
                    با سلام

                    در فایل جدید تکراری های 5 تای ماکزیمم هر کدام به همان رنگ اختصاص یافته، تغییر مینمایند
                    این فایل با ویژوال بیسیک تهیه گردیده است

                    در این فایل ابتدا برای هر ستون ، یک ستون بدون اعداد تکراری با ADVANCE FILTTER تهیه گردیده و سپس پنج عدد ماکزیمم هر ستون مشخص گردیده و سپس در ستون اصلی جستجو صورت گرفته و اعداد ماکزیمم بهمراه اعداد تکراری آنها شناسایی شده و به رنگ مورد نظر تغییر مییابند
                    سپس ستون های کمکی ایجاد شده پاک میشود

                    کد PHP:
                    Sub MAX()

                    Dim rng As Range
                    Dim MAX 
                    As Double

                    Application
                    .ScreenUpdating False

                    Sheet1.Cells(Sheet1.Rows.Count"A").End(xlUp).Row

                    Range
                    ("A1:Q" Z).Select
                        With Selection
                    .Font
                            
                    .ColorIndex xlAutomatic
                            
                    .TintAndShade 0
                        End With
                        Range
                    ("A1").Select
                        
                        CLEAR
                        
                    Columns
                    ("A:A").AdvancedFilter Action:=xlFilterCopyCopyToRange:=Range("K1" _
                            
                    ), Unique:=True
                            
                            Columns
                    ("B:B").AdvancedFilter Action:=xlFilterCopyCopyToRange:=Range("L1" _
                            
                    ), Unique:=True
                            
                            Columns
                    ("C:C").AdvancedFilter Action:=xlFilterCopyCopyToRange:=Range("M1" _
                            
                    ), Unique:=True
                            Columns
                    ("D:D").AdvancedFilter Action:=xlFilterCopyCopyToRange:=Range("N1" _
                            
                    ), Unique:=True
                     
                    '=======================================

                    Z = Sheet1.Cells(Sheet1.Rows.Count, "K").End(xlUp).Row

                    Set rng = Sheet1.Range("K1:K" & Z)

                    For T = 1 To 5

                    MAX = Application.WorksheetFunction.Large(rng, T)
                    Y = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row

                    For I = 1 To Y

                    If Cells(I, 1).Value = MAX Then

                    Cells(I, 1).Font.ColorIndex = T + 2

                    End If
                    Next I
                    Next T

                    '
                    =======================================
                    Sheet1.Cells(Sheet1.Rows.Count"L").End(xlUp).Row

                    Set rng 
                    Sheet1.Range("L1:L" Z)

                    For 
                    1 To 5

                    MAX 
                    Application.WorksheetFunction.Large(rngT)
                    Sheet1.Cells(Sheet1.Rows.Count"B").End(xlUp).Row

                    For 1 To Y

                    If Cells(I2).Value MAX Then

                    Cells
                    (I2).Font.ColorIndex 2

                    End 
                    If
                    Next I
                    Next T
                    '================================

                    Z = Sheet1.Cells(Sheet1.Rows.Count, "M").End(xlUp).Row

                    Set rng = Sheet1.Range("M1:M" & Z)

                    For T = 1 To 5

                    MAX = Application.WorksheetFunction.Large(rng, T)
                    Y = Sheet1.Cells(Sheet1.Rows.Count, "C").End(xlUp).Row

                    For I = 1 To Y

                    If Cells(I, 3).Value = MAX Then

                    Cells(I, 3).Font.ColorIndex = T + 2

                    End If
                    Next I
                    Next T

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

                    Sheet1.Cells(Sheet1.Rows.Count"N").End(xlUp).Row

                    Set rng 
                    Sheet1.Range("N1:N" Z)

                    For 
                    1 To 5

                    MAX 
                    Application.WorksheetFunction.Large(rngT)
                    Sheet1.Cells(Sheet1.Rows.Count"D").End(xlUp).Row

                    For 1 To Y

                    If Cells(I4).Value MAX Then

                    Cells
                    (I4).Font.ColorIndex 2

                    End 
                    If
                    Next I
                    Next T

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

                    CLEAR

                    End Sub 
                    فایل های پیوست شده
                    Last edited by iranweld; 2015/09/22, 10:37.

                    کامنت

                    • s.cheraghi

                      • 2011/02/27
                      • 311

                      #11
                      این شرایط که شما فرمودین نیازمند اینه که هر 5 قانون به هم مرتبط باشن که در Conditional Formatting این امکان وجود نداره (فرمول های آرایه ای هم جواب نمیده در این بخش).
                      به نظرم تنها راهی که مشکل شما رو برطرف کنه استفاده از VBA هست.
                      در یادگیری سیر نشوید :idea:

                      برای ارتباط بیشتر به [URL="https://excelpedia.net/"]سایت[/URL] [URL="https://excelpedia.net"][B][COLOR=#008000]ExcelPedia [/COLOR][/B][/URL]سربزنید.
                      برگزاری [URL="https://excelpedia.net/excel-ninja/"]دوره های آموزش[/URL] [URL="https://excelpedia.net/what-is-excel/"][B]اکسل [/B][/URL]در تهران
                      [URL="https://excelpedia.net/category/excel-functions/"][B]آموزش توابع اکسل[/B][/URL]

                      کامنت

                      چند لحظه..