chatgpt を使用して Excel データを処理する

I.はじめに

以前はchatgptは主にQ&Aに使われていたのですが、今回は惑星に参加してchatgptを使ってExcelを処理する方法を学びました.今ではあまり便利ではありませんが、慣れるとますます速くなります. (主にプロンプ​​トの言葉に精通しています)。

2つの準備

使用可能な chatgpt アカウント、または新しい bing アプリケーションに合格したテスト アカウント。その他の条件:

  1. ブラウザはEdgeを使用しています。

  2. Mod Header プラグインをインストールし、X-Forwarded-For 値を 8.8.8.8 に設定しました

  3. サイエンスはオンラインで、ブラウザの位置情報は禁止です。

  4. 中国語でchatgptというEdgeプラグインのchattonaiをインストールして、ネットサーフィンをしてもchatgptにアクセスできなかったのですが、このプラグインをクリックしてchatgptのホームページにジャンプしたら大丈夫でした。で、普通にログインできました。e771f801b5e3eda823a2ceff034e5361.png

3つの準備データ

私の新しいバージョンの Edge は何度もインストールに問題があったため、さまざまな方法を試しましたが、インストールできませんでした. 最終的には、Skype を使用して bing ロボットを使用しました. このロボットの効果は、スカイプ。

いくつかのデータを準備しましょう。a30a16d944915fb880b1595ee7f3f4d8.png

データを Excel にコピーします。618bf412b8e0bd7f9e554c61f64dd6a1.png

4. AI を使って何かをする

4.1 基本式

すべての給与を合計する必要があるが、合計式を忘れた場合は、それを求めることができます。533967feee743350b7351a080ce7405c.png結果は次のようになります。494419593d4842ad35afd2c827035e55.png

土曜日の基本給を確認したい場合は、特定の Excel 数式を Bing に問い合わせることができます。e7dcc51cfaf50f3e9f9dd7f0e318a219.png

式を次の場所に貼り付けます。9b61fea947988147616a8cb47fa0d37a.png

5. もっと複雑なことをする

Excel では、VBA スクリプトを使用すると、より複雑な操作を実行できることがわかっています。タイトルを赤に設定する必要がある場合は、その下の奇数行を青に、偶数行を水色に設定します。要件に従ってプロンプト ワードを設定します。 "

5.1 表スタイルの設定 VBA スクリプト

この VBA の書き方を bing に尋ねたが、be2541d86b353ef248d6b8a12da7fce9.png新しい VBA の作成方法などを教えてくれなかった場合は、chatgpt に依頼して、注文をより詳細に返すことができるかどうかを確認できます。b1b255350647872d9654730cca2b3b8f.png

新しいものを作成する方法を引き続き尋ねます。5d6ad9eff90dfd76d7bf3c4cf9ecbb93.png

プロンプトに従って操作し、vba スクリプトを貼り付けた後、クリックして実行します。d9140cc80edc835f38039569b3c39525.png

ウィンドウを閉じた後、Alt+F8 を押して、新しく作成したマクロを選択します。アプリケーションの効果: af7d5d3f611e6c9bebbcec328b06b187.pngI found something wrong, why the following lines are set all red, and rechange the prompt word to ask: "When writing VBA,最初の行の A 列から F 列を赤に設定し、2 行目から最終行までを奇数行を青、偶数行を水色に設定します」

76d4d88b35672f3ba1a6d015eec49227.png仍然不是:bfe946dd9fb8de1c16f007ffce326be4.png在更改提示词询问:" VBAを書くときは、1行目A~Fの背景色を赤に設定し、2行目から最終行までは奇数行の背景色を青に設定し、背景色は偶数行の色を水色にし、この行にデータがない場合は設定しないでください。」

今回提供された vba スクリプトは問題ありません。

Sub FormatRows()
    Dim lastRow As Long
    lastRow = Cells(Rows.Count, "A").End(xlUp).Row 'get last row with data
    
    'set format for first row
    Range("A1:F1").Interior.Color = RGB(255, 0, 0) 'set red color for columns A to F in row 1
    
    'set format for odd and even rows with data
    For i = 2 To lastRow 'loop through rows with data
        If WorksheetFunction.CountA(Range("A" & i & ":F" & i)) > 0 Then 'check if row has data
            If i Mod 2 = 0 Then 'check if row number is even
                Range("A" & i & ":F" & i).Interior.Color = RGB(135, 206, 235) 'set light blue color for columns A to F in even rows
            Else 'row number is odd
                Range("A" & i & ":F" & i).Interior.Color = RGB(153, 204, 255) 'set blue color for columns A to F in odd rows
            End If
        End If
    Next i
End Sub
3a42d3233bd181ca440754319ce22966.png
最終変更スタイル スクリプト

5.2 統計グラフを生成するための vba スクリプト

プロンプトの言葉: 「VBA プログラムを作成します。データ範囲は C2 から C17 で、現在のワークスペースで、5,000 から 10,000 までの間隔、10,000 から 15,000 までの間隔、および 15,000 を超える間隔を含むヒストグラムを生成します。ヒストグラムは基本的な給与統計です」 bing 与えられた vba スクリプト:

您好,您可以使用以下代码来生成柱状图:

Sub CreateChart()
Dim MyChart As Chart
Set MyChart = ActiveSheet.Shapes.AddChart2(251, xlColumnClustered).Chart
MyChart.SetSourceData Source:=Range("C2:C17")
MyChart.HasTitle = True
MyChart.ChartTitle.Text = "基本工资统计"
MyChart.Axes(xlCategory).TickLabels.NumberFormatLocal = "0.00"
MyChart.Axes(xlValue).TickLabels.NumberFormatLocal = "0.00"
MyChart.Axes(xlValue).MinimumScale = 5000
MyChart.Axes(xlValue).MaximumScale = 15000
MyChart.Axes(xlValue).MajorUnit = 5000
End Sub

这段代码将数据范围C2到C17的数据生成柱状图,并将5000到10000,10000到15000,15000以上作为三个区间。柱状图的标题为“基本工资统计”。要执行此VBA,请按下Alt + F11打开Visual Basic Editor,然后在左侧的“项目资源管理器”窗格中选择要更改的工作簿。然后,单击“插入”菜单上的“模块”,并将代码复制到新模块

コード内の二重引用符はすべて「エスケープする必要があるため、結果が間違っています:b3b1a495024e7e4c7df1a2b7bfa45a34.png

何度も試行錯誤した結果、chatgpt を介して最終的な効果が最終的に完成しました。 C17 まで、現在のワークスペースに円柱状の列が生成されます。図. 同時に 3 つの間隔に分割され、間隔の範囲は 5,000 から 10,000、10,000 から 15,000、および 15,000 を超えます。データは変更できないことに注意してください」英語プロンプトワード:

Write VBA program, in which C lists the base salary, statistics the range of the base salary, the basic salary data is C2 to C17 data, in the current work area to generate a bar chart. At the same time, it is divided into three intervals, which range from 5000 to 10,000 to 15000 and above. Note that no data can be changed.

ヒントを中国語から英語に翻訳しました. 中国語で質問するとアカウントがブロックされやすいと言われています. 最終結果は次のとおりです.

81d24676de67031aeda51d27e3cd959b.png
最終的な効果
Sub GenerateSalaryChart()
    'Declare variables
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim salaryRange As Range
    Dim salaryData As Variant
    Dim lowRange As Long
    Dim medRange As Long
    Dim highRange As Long
    Dim salaryCount(2) As Integer
    Dim i As Long
    
    'Set the workbook and worksheet
    Set wb = ThisWorkbook
    Set ws = wb.ActiveSheet
    
    'Set the salary range
    Set salaryRange = ws.Range("C2:C17")
    salaryData = salaryRange.Value
    
    'Set the intervals
    lowRange = 5000
    medRange = 10000
    highRange = 15000
    
    'Loop through the data and count the number of salaries in each interval
    For i = LBound(salaryData) To UBound(salaryData)
        If salaryData(i, 1) >= lowRange And salaryData(i, 1) <= medRange Then
            salaryCount(0) = salaryCount(0) + 1
        ElseIf salaryData(i, 1) > medRange And salaryData(i, 1) <= highRange Then
            salaryCount(1) = salaryCount(1) + 1
        ElseIf salaryData(i, 1) > highRange Then
            salaryCount(2) = salaryCount(2) + 1
        End If
    Next i
    
    'Create a new chart and set the chart type to column chart
    Dim chartObj As ChartObject
    Set chartObj = ws.ChartObjects.Add(Left:=250, Width:=400, Top:=10, Height:=250)
    chartObj.Chart.ChartType = xlColumnClustered
    
    'Set the chart title
    chartObj.Chart.HasTitle = True
    chartObj.Chart.ChartTitle.Text = "Basic Wage Statistics"
    
    'Add the data series to the chart
    Dim chartSeries As Series
    Set chartSeries = chartObj.Chart.SeriesCollection.NewSeries
    chartSeries.Name = "Salary"
    chartSeries.Values = salaryCount
    
    'Set the axis labels and tick marks
    With chartObj.Chart.Axes(xlCategory, xlPrimary)
        .CategoryNames = Array("5000-10000", "10000-15000", ">15000")
        .TickLabels.NumberFormat = "0"
    End With
End Sub

6つのまとめ

上記の一連の例を通して、私はプロンプトの言葉が非常に重要であると感じています. 質問の方法が間違っていて、十分に正確でない場合, あなたに提供される答えにいくつかの問題があるかもしれません. それは明確で簡潔でなければなりません. 多分私は通常バージョンの chatgpt を使用してください。プラス バージョンの方が強力な場合があります。

chatgpt の適用範囲はますます広がっており、Knowledge Planet や Geek Time では、マインド マップの生成、ドキュメントの要約、提供された情報に基づいた質問への回答など、さまざまな遊び方が見られます。エクセルデータ処理の導入で、chatgptの威力を実感する人が増えています.さらに恐ろしいのは、まだまだ進化しているということです.勝てない場合は、参加するだけです.chatgptを徐々にマスターする人は、10倍効率的な労働者になります. . いくつかの良いアイデアと相まって、chatgpt を使用して起業家精神の波を開始するのは良いことです。

おすすめ

転載: blog.csdn.net/mseaspring/article/details/130177942