日時使用した生成AI
2026/2/13ChatGPT,
Claude,
Copilot,
Gemini

Excel関数の作成


「入力」の箇所を自由に変更してください。

  # 指示
以下の# 入力 要件を満たすExcelの関数を作成してください。

# 条件
- 関数は Excel の標準機能で実現可能なものとしてください。
- 関数名は簡潔で分かりやすいものにしてください。
- 関数の入出力パラメータは 5 個以内とし、データ型は基本的なものを使用してください。

# 入力
シート1の表とシート2の表を結合したい。
結合するキーとなる列は「個人ID」です。

# 出力
- 要件を具体的に説明し、Excel 関数作成の目的を明確にしてください。
- 関数の入出力パラメータと期待する動作を詳しく説明してください。
- 関数の使用方法は具体的な例とともに説明してください。
  

スクリプトの作成


  # 以下の仕様を満たすPythonプログラムを作成してください

## 仕様
- CSVファイル `data.csv` を読み込む
- CSVファイルには `id`, `name`, `age`, `score` の4つのカラムがある
- `score` が80以上の行のみを抽出する
- 抽出した行を `id` の昇順で並べ替える
- 並べ替えた結果を `result.csv` として出力する

## 注意点
- プログラムにはコメントを付けて、処理の内容を説明してください
- 変数名やメソッド名は分かりやすい名前を使用してください
  
  以下の要件に従って、Excel VBAのコードを作成してください。

### 入力情報 ###
処理対象シート名:Sheet1

処理対象範囲:
- 入力:A列(2行目から最終行まで)
- 出力:B列(入力行に対応)

必要な機能:
- 基本機能:
  * 氏名から敬称(様、殿、さん等)を削除
  * 前後の空白を削除
  * 全角・半角の統一
  * 削除した敬称は別シートに記録

### 要件 ###
* エラーハンドリングを適切に実装する
* パフォーマンスを考慮した実装を行う
* コードの可読性を重視する
* 再利用性の高い設計にする
* 必要に応じてログ機能を実装する

### 出力形式 ###
以下の構造でコードと説明を提供します:
1. コードの概要(処理内容の説明)
2. 主要な変数・定数の説明
3. VBAコード
  - エラー処理
  - メイン処理
  - サブルーチン
4. 使用方法と注意点

### 補足 ###
* 特殊なケースの処理方法を記載
* パフォーマンスに関する注意点を説明
* 既知の制限事項がある場合は明記
  
  jsondata=[{'metricType': 'AcademicCorporateCollaboration',  'values': [{'collabType': 'Academic-corporate collaboration',    'value': 1,    'percentage': 5},   {'collabType': 'No academic-corporate collaboration',    'value': 18,    'percentage': 94.73685}]}, {'metricType': 'AcademicCorporateCollaborationImpact',  'values': [{'collabType': 'Academic-corporate collaboration', 'value': 0.0},   {'collabType': 'No academic-corporate collaboration', 'value': 6.5}]}, {'metricType': 'Collaboration',  'values': [{'collabType': 'International collaboration', 'value': 0.0},   {'collabType': 'National collaboration', 'value': 0.9}]}, {'metricType': 'CitationCount', 'value': 117}, {'metricType': 'CitationsPerPublication', 'value': 9}, {'metricType': 'CollaborationImpact',  'values': [{'collabType': 'Institutional collaboration', 'value': 3.0},   {'collabType': 'International collaboration', 'value': 7.4},   {'collabType': 'National collaboration', 'value': 9.7},   {'collabType': 'Single authorship', 'value': 0.0}]}, {'metricType': 'CitedPublications', 'value': 14, 'percentage': 56}, {'metricType': 'FieldWeightedCitationImpact', 'value': 0.62636673}, {'metricType': 'HIndices', 'value': 15.0, 'indexType': 'h-index'}, {'metricType': 'ScholarlyOutput', 'value': 30}, {'metricType': 'PublicationsInTopJournalPercentiles',  'impactType': 'CiteScore',  'values': [{'threshold': 1, 'value': 0, 'percentage': 0.0},   {'threshold': 5, 'value': 1, 'percentage': 5.263158},   {'threshold': 10, 'value': 3, 'percentage': 15.789473},   {'threshold': 25, 'value': 10, 'percentage': 52.63158}]}, {'metricType': 'OutputsInTopCitationPercentiles',  'values': [{'threshold': 1, 'value': 0, 'percentage': 0.0},   {'threshold': 5, 'value': 0, 'percentage': 0.0},   {'threshold': 10, 'value': 0, 'percentage': 0.0},   {'threshold': 25, 'value': 4, 'percentage': 21.4}]}]


このjsondataを漏れなくパースして、dfに格納するpythonコードを書いてください
  

既存コードの解説


  ```
import pandas as pd

df = pd.read_csv('data.csv')
filtered_df = df[df['score'] >= 80]
sorted_df = filtered_df.sort_values('id')
sorted_df.to_csv('result.csv', index=False)
```

上記のPythonプログラムに、適切なコメントを追加してください。コメントは以下の基準を満たすようにしてください。

各処理の目的や内容を簡潔に説明する
変数名やメソッド名の意味を必要に応じて説明する
コードの重要な部分や注意点を強調する
  
  以下に示すプログラミングコードを解説してください。

### 条件
* 相手は事務職員です。よってプログラミング初心者にでもわかるように解説すること。
* 一行ずつ、もしくはプログラムの意味グループずつ、丁寧に解説すること
* 基礎的な用語も懇切丁寧に説明すること
* 回答時にプログラムを出力する場合は、必ずコメントを付与すること

### プログラミングコード

// Menu sticky
function windowScroll() {
    const navbar = document.getElementById("topnav");
    if(navbar!=null){
        if (
            document.body.scrollTop >= 50 ||
            document.documentElement.scrollTop >= 50
        ) {
            navbar.classList.add("nav-sticky");
        } else {
            navbar.classList.remove("nav-sticky");
        }
    }
}

window.addEventListener('scroll', (ev) => {
    ev.preventDefault();
    windowScroll();
})

// Toggle menu
function toggleMenu() {
    document.getElementById('isToggle').classList.toggle('open');
    var isOpen = document.getElementById('navigation')
    if (isOpen.style.display === "block") {
        isOpen.style.display = "none";
    } else {
        isOpen.style.display = "block";
    }
};
  
  import pandas as pd

df = pd.read_csv('data.csv')

filtered_df = df[df['score'] >= 80]

sorted_df = filtered_df.sort_values('id')

sorted_df.to_csv('result.csv', index=False)

上記のPythonプログラムについて、コードの各部分の処理内容を解説してください。また、pandasを使用している利点についても説明してください。
  

既存コードの改善


  ```
import pandas as pd

# CSVファイルを読み込む
df = pd.read_csv('data.csv')

# scoreが80以上の行を抽出する
filtered_df = df[df['score'] >= 80]

# idの昇順で並べ替える
sorted_df = filtered_df.sort_values('id')

# 結果をCSVファイルに出力する
sorted_df.to_csv('result.csv', index=False)
```

上記のPythonプログラムを改善してください。以下の点を考慮してください。

* エラー処理を追加する
* コードをより読みやすくする
* 処理速度を向上させる
  

プログラムのエラーを読み解く


  ```python
import pandas as pd

df = pd.read_csv('data.csv')
filtered_df = df[df['score'] > 80]
sorted_df = filtered_df.sort_values('id')
sorted_df.to_csv('result.csv')
```

上記のPythonプログラムを実行したところ、以下のエラーが発生しました。

```
Traceback (most recent call last):
  File "script.py", line 6, in <module>
    sorted_df.to_csv('result.csv')
  File "/usr/local/lib/python3.9/site-packages/pandas/core/generic.py", line 3463, in to_csv
    return DataFrameRenderer(formatter).to_csv(
  File "/usr/local/lib/python3.9/site-packages/pandas/io/formats/format.py", line 1105, in to_csv
    csv_formatter.save()
  File "/usr/local/lib/python3.9/site-packages/pandas/io/formats/csvs.py", line 241, in save
    self._save()
  File "/usr/local/lib/python3.9/site-packages/pandas/io/formats/csvs.py", line 256, in _save
    self._save_header()
  File "/usr/local/lib/python3.9/site-packages/pandas/io/formats/csvs.py", line 281, in _save_header
    writer.writerow(encoded_labels)
  File "/usr/local/lib/python3.9/site-packages/pandas/io/common.py", line 707, in writerow
    self.writer.writerow(self._encode_types(row))
UnicodeEncodeError: 'utf-8' codec can't encode characters in position 0-2: surrogates not allowed
```

このエラーの原因を特定し、修正方法を説明してください。
  

いろんなものを変換する


  以下のJSONデータをPythonのデータフレームに変換し、CSVファイルとして出力するプログラムを作成してください。

{
  "enrollments": [
    {
      "student_id": "S2024001",
      "student_name": "山田太郎",
      "course_name": "情報リテラシー",
      "faculty": "工学部"
    },
    {
      "student_id": "S2024002",
      "student_name": "鈴木花子",
      "course_name": "統計学入門",
      "faculty": "経済学部"
    },
    {
      "student_id": "S2024003",
      "student_name": "佐藤次郎",
      "course_name": "情報リテラシー",
      "faculty": "工学部"
    }
  ]
}

- JSONデータは `data.json` というファイル名で保存されているとします
- 出力するCSVファイルは `enrollments.csv` というファイル名にしてください
- CSVファイルのヘッダーは `student_id`, `student_name`, `course_name`, `faculty` としてください
  

変数名・クラス名を命名する


  以下の仕様を満たすPythonプログラムを作成してください。

- Excelファイル `research_grant_data.xlsx` を読み込む
- Excelファイルには `課題番号`, `研究種目`, `配分額`, `採択件数`, `交付年度` の5つのカラムがある
- `交付年度` が2023年度のデータのみを抽出する
- 抽出したデータを `研究種目` と `交付年度` でグループ化し、`配分額` の合計を計算する
- グループ化した結果を `交付年度` の昇順で並べ替える
- 並べ替えた結果を新しいExcelファイル `grant_summary.xlsx` として出力する

プログラムを作成する際、変数名やメソッド名、クラス名は適切で分かりやすい名前を使用してください。
  

リファレンス代わりにする


  pandasの以下のメソッドについて説明してください。

1. read_csv()
2. groupby()
3. agg()
4. sort_values()
5. to_csv()

それぞれのメソッドについて、以下の点を説明してください。

- メソッドの目的と主な機能
- メソッドの引数とその意味
- メソッドの返り値
- メソッドの使用例
  

Google Formsの集計スクリプトを作成する


「変更箇所」を自身の状況に合わせて変更してください。

  # 指示
Google Apps Script(GAS)で以下の要件を満たすスクリプトを作成してください。

# 要件
- Google Formsの回答が記録されたスプレッドシートを対象とする
- 回答データを自動集計し、集計結果を新しいシートに出力する

# 集計内容
1. 「変更箇所:回答項目名(例:満足度)」の選択肢ごとの回答数と割合を算出
2. 「変更箇所:自由記述の項目名(例:改善点)」のテキスト回答一覧を作成
3. 回答の日別推移を集計

# スプレッドシートの構造
- 「変更箇所:シート名(例:フォームの回答 1)」シートに回答データが格納されている
- A列: タイムスタンプ
- B列: 「変更箇所:項目名(例:所属学部)」
- C列: 「変更箇所:項目名(例:満足度)」(5段階評価)
- D列: 「変更箇所:項目名(例:改善点についてのご意見)」(自由記述)

# 条件
- コードにはコメントを付けて処理内容を説明すること
- エラーハンドリングを適切に実装すること
- 集計結果シートが既に存在する場合は上書きすること
  

業務自動化スクリプトを作成する


「変更箇所」を自身の状況に合わせて変更してください。

  # 指示
以下の業務を自動化するPythonスクリプトを作成してください。

# 自動化したい業務
「変更箇所:自動化したい業務内容(例:フォルダ内のファイルを命名規則に従ってリネームする)」

# 現在の手作業の流れ
1. 「変更箇所:手順1(例:ダウンロードフォルダから対象ファイルを探す)」
2. 「変更箇所:手順2(例:ファイル名を「日付_カテゴリ_連番」の形式に変更する)」
3. 「変更箇所:手順3(例:カテゴリ別のフォルダに移動する)」

# 条件
- Pythonの標準ライブラリのみで動作すること(追加インストール不要)
- 実行前に処理対象ファイルの一覧を表示し、確認を求めること
- 処理ログをテキストファイルに出力すること
- エラーが発生しても他のファイルの処理を継続すること

# 対象ファイル
- 「変更箇所:対象フォルダのパス(例:C:\Users\担当者\Downloads)」
- 「変更箇所:対象ファイルの拡張子(例:.pdf, .xlsx)」
  

Last updated 13 2月 2026, 21:06 +0900 . history