久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    【Excel商務圖表】南丁格爾玫瑰圖表制作方法

     ExcelEasy 2022-08-23 發布于北京

    可以直接看文末視頻講解

    什么是南丁格爾圖表

    南丁格爾圖表,又稱為玫瑰圖,是一種常見的商務圖表。它類似于餅圖,都是通過圓形的一個扇區表示大小:

    跟餅圖不同的是,南丁格爾圖表的每個扇區角度都是相同的,它是通過每個扇區的不同高度表示數據的大小。

    上面的南丁格爾圖表是基本形式,可以表達一個系列的數據(只有一種顏色),也可以表示多各系列數據(加上紅色),但是最好是一個系列的數據全部小于另外一個系列的數據。如果數據參差不齊,看上去比較混亂,這時,可以采用下面的形式:

    二者的主要區別:

    • 后者不同扇區間隔更大

    • 不同扇區之間起始角度有偏差,

    制作方法

    在Excel中,并沒有南丁格爾圖表的基本圖表。我們可以通過雷達圖實現這個圖表。

    在這個雷達圖中,不同點的大小表現為圖表中不同半徑的圓上的點。這個原理是類似的。

    如果我們如下圖一樣,在雷達圖中添加多條長度一樣的線(紅色劃線區域):

    就可以實現南丁格爾圖表。

    制作基本型南丁格爾圖表

    對于這個基本型的南丁格爾圖表,很明顯,每個扇區占的角度=360°/扇區的數量。

    因此,我們需要按如下方式制作作圖數據。

    首先,原始數據如下:

    B列和C列是需要作圖的不同系列。我們先看B列,我們要將其改造為:

    這樣的數據。簡單說,原來的每個數據,如:分類為A的數值是6301,那么在作圖數據中就需要出現36個6301,這里的36是每個數據占的角度。總共10個分類,每個正好是36。

    而且在不同數據之間還要插入一個0值,用于在最終的圖表中形成間隔。

    要完成這件事情,可以手工復制粘貼。不用說,這樣的工作比較枯燥繁瑣。我們這里提供兩個方法。

    第一種方法是VBA,你可以使用下面的代碼(以下代碼直接復制即可,也可以按照文末的方法跟客服索要模板。需要將 代碼中相應的地方修改為你自己數據的地址,詳細修改方法見視頻講解)

    '生成基本玫瑰圖數據Sub ChartData_Basic()    '分類數據    Dim RngCat As Range    Set RngCat = Worksheets("玫瑰圖-基本").Range("A2:A11")
    '展示數據 Dim RngVal As Range Set RngVal = Worksheets("玫瑰圖-基本").Range("B2:B11")
    '作圖數據開始單元格 Dim RngChartData As Range Set RngChartData = Worksheets("玫瑰圖-基本").Range("E1")
    '生成作圖數據 Dim Count Count = Int((1 + (360 / RngCat.Rows.Count))) Set RngChartData = RngChartData.Resize(Count * RngCat.Rows.Count, 3) For i = 1 To RngCat.Rows.Count * Count If i Mod Count = 1 Then RngChartData(i, 1).Value = 0 Else RngChartData(i, 1).Value = Application.WorksheetFunction.Index(RngVal, 1 + Int(i / (Count + 0.1)))
    End If
    If (i + Int(Count / 2)) Mod Count > 0 Then
    Else RngChartData(i, 2).Value = Application.WorksheetFunction.Index(RngVal, 1 + Int(i / (Count + 0.1))) RngChartData(i, 3).Value = Application.WorksheetFunction.Index(RngCat, 1 + Int(i / (Count + 0.1))) End If
    Next iEnd Sub

    如果你用不了VBA代碼,你可以使用下面的方法,不過需要你使用Office 365:

    你使用這個公式:

    =MAKEARRAY(37*10,1,LAMBDA(r,c,IF(MOD(r,37)=1,0,INDEX(B2:B11,INT(r/(37+0.1))+1))))

    這個公式里的37就是36+1,36的含義是每個數據點占據的角度,+1的意思是不同點之間加一個0用于間隔,10表示數據點的個數。你可以將其修改為你需要的值:

    例如,如果你有11個數據點,每個的角度是360/11≈35,加上1就是36。

    其中的B2:B11是用于展現的數據,你可以改成你自己的地址。

    這個公式使用了MAKEARRAY函數,具體請參見我們以前的文章,這里就不詳細介紹了。

    選中生成的作圖數據,然后再插入選項卡中選擇雷達圖(第三種類型):

    插入圖表:

    圖表主體已經做完了。刪掉網格線,坐標軸,分類標簽,就得到了南丁格爾圖表:

    接下來修改顏色。這里顏色的修改實際上是修改數據系列格式中的標記的填充色:

    下面還需要添加標簽。

    這個標簽也需要輔助的作圖數據。

    網上有方法,說的是通過添加一個餅圖,然后添加餅圖的標簽。這個當然是最簡單的,但是,這個方法添加的標簽位置都在扇形的固定位置,不能跟隨扇形大高度變化。所以,我們可以在雷達圖中再次插入系列,這個系列中每個數據點在每個扇區的中間:

    這樣的線顯然可以通過類似的公式完成(如果使用上面的VBA代碼,直接就生成了輔助系列的數據):

    =MAKEARRAY(37*10,1,LAMBDA(r,c,IF(MOD(r+18,37)>0,"",INDEX(B2:B11,INT(r/(37+0.1))+1))))

    得到的數據是這樣的:

    對應每個作圖數據,除了中間的點有值外,其余的點都是空的。

    將這個數據作為新的系列添加到雷達圖中,然后為這一列添加標簽即可。

    如果有另外的系列,就如法炮制:

    可以添加多個系列。但是,除非每個系列的大小是依次減少的,否則,圖表會比較混亂。

    制作用于對比的南丁格爾圖

    如果用于對比的數據參差不齊,可以使用下圖:

    其實,這個圖表的做法還是一樣的:

    如上圖,實際上黃色系列扇區還是占36°,但是,只有中間的一部分真正有數據,而其他的都是0,而紅色系列扇區也是36°,也只有中間部分真正有數據:

    數據就是上面這種形式,紅色數據的起始位置與黃色數據不同。

    在模板中也提供了生成對比數據的代碼:

    '生成對比玫瑰圖數據Sub ChartData_Adv()    '分類數據    Dim RngCat As Range    Set RngCat = Worksheets("玫瑰圖-基本").Range("A2:A11")
    '展示數據 Dim RngVal As Range Set RngVal = Worksheets("玫瑰圖-基本").Range("B2:B11")
    '作圖數據開始單元格 Dim RngChartData As Range Set RngChartData = Worksheets("玫瑰圖-基本").Range("E1")
    '生成作圖數據 Dim Count Count = Int((1 + (360 / RngCat.Rows.Count))) Set RngChartData = RngChartData.Resize(Count * RngCat.Rows.Count, 3) For i = 1 To RngCat.Rows.Count * Count If i Mod Count <= 7 Or i Mod Count >= 30 Then RngChartData(i, 1).Value = 0 Else RngChartData(i, 1).Value = Application.WorksheetFunction.Index(RngVal, 1 + Int(i / (Count + 0.1)))
    End If
    If (i + Int(Count / 2)) Mod Count > 0 Then
    Else RngChartData(i, 2).Value = Application.WorksheetFunction.Index(RngVal, 1 + Int(i / (Count + 0.1))) RngChartData(i, 3).Value = Application.WorksheetFunction.Index(RngCat, 1 + Int(i / (Count + 0.1))) End If
    Next iEnd Sub

    如果是Office 365的用戶,可以考慮使用下面的公式:

    =MAKEARRAY(37*10,1,LAMBDA(r,c,IF(OR(MOD(r,37)<=7,MOD(r,37)>=30 ),0,INDEX(B2:B11,INT(r/(37+0.1))+1))))

    其中if中的條件:

    OR(MOD(r,37)<=7,MOD(r,37)>=30 )

    公式中的7和30決定了0的個數和起始位置,可以自行修改。

       聯系客服(底部菜單 -> 知識庫 -> 客服),獲取模板


    加入E學會,學習更多Excel應用技巧

    http://www./portal/learn/class_list

    詳情咨詢客服(底部菜單-知識庫-客服)

    Excel+Power Query+Power Pivot+Power BI


    Power Excel 知識庫    按照以下方式進入知識庫學習
    Excel函數   底部菜單:知識庫->Excel函數

    自定義函數  底部菜單:知識庫->自定義函數

    Excel如何做  底部菜單:知識庫->Excel如何做

    面授培訓  底部菜單:培訓學習->面授培訓

    Excel企業應用  底部菜單:企業應用

    也可以在歷史文章中學習Excel,Power Query,Power Pivot,Power BI,Power Automate各種技巧。

      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 国内丰满熟女出轨VIDEOS| 欧美亚洲高清国产| 欧美怡春院一区二区三区| 久久精品国产亚洲AV瑜伽| 成人免费无遮挡在线播放| 国产精品 自在自线| 久久午夜无码鲁丝片| 少妇办公室好紧好爽再浪一点| 国产精品青青在线观看爽香蕉 | 在线 | 18精品免费1区2| 国产精成人品日日拍夜夜| 久久久国产乱子伦精品| 中文字幕亚洲人妻系列| 久久无码人妻一区二区三区午夜| 亚洲熟妇精品一区二区| 色综合久久久久综合体桃花网| 亚洲男女羞羞无遮挡久久丫 | 香蕉EEWW99国产精选免费| 精品人人妻人人澡人人爽人人| 老司机午夜精品视频资源| 久久国产成人午夜AV影院| A男人的天堂久久A毛片| 东京热人妻无码一区二区av| 久久国产成人亚洲精品影院老金| 亚洲av午夜成人片| 性饥渴少妇AV无码毛片| 日韩丝袜欧美人妻制服| 久久久无码精品亚洲日韩按摩| 欧美黑人XXXX性高清版| 亚洲人成小说网站色在线| 亚洲码欧美码一区二区三区| 国产男人的天堂在线视频| 国产精品v片在线观看不卡| 中文字幕无码不卡免费视频| 久久综合久中文字幕青草| 情侣黄网站免费看| 亚洲中文字幕无码久久精品1| 日韩中文字幕亚洲精品| 国产精品IGAO视频网网址| 久久久久久伊人高潮影院| 国产在线午夜不卡精品影院 |