14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

こんにちは、QAエンジニアのヨシナです。

弊社のQAチームはテスト設計をExcelで行っています。設計書には手動で入力する項目が多く、開発者の所属ユニットに応じたUL(ユニットリーダー)やLE(リードエンジニア)を記載する必要があります。

毎回「誰がULで、誰がLEか」を調べて入力するのは非効率的でした。

そこで今回は、Python in Excelを使ってこの入力を自動化し、その方法を紹介します。

Python in Excelとは?

Python in Excelは、Excelのセルで直接Pythonコードを記述・実行できる機能です。
データ分析やグラフ作成に使われることが多いですが、工夫次第で業務自動化にも活用できます

詳細は公式サポート記事をご参照ください。

主な特徴

  • セル上に直接Pythonコードや関数を記述できる
  • 変数・関数・ライブラリの定義が可能
  • 他のセルで定義した関数や変数を呼び出せる
  • 返却値は「Pythonオブジェクト」と「Excel値」のどちらかで選択できる

image.png

基本的な使い方

  1. 数式タブから「Pythonの挿入」ボタンをクリック
    image.png
  2. エディタボタンを押すと右側にエディターが表示される
    image.png
  3. Pythonコードを記述し、セルに結果が返される
    image.png

自動化した内容

課題

  • テスト設計書の「関係者」欄(C25、C26)に、該当ユニットのUL・LEを記載する必要がある
  • 開発者はそれぞれユニットに所属し、UL・LEが異なる
  • 毎回開発者ごとのユニットULとLEを調べるのが手間

自動化で実現したこと

  • 「所属ユニットのUL」を自動取得し、セルC25に反映
  • 「所属ユニットのLE」を自動取得し、セルC26に反映

image.png

Python in Excelでの実装

python_in_excel.gif

ULの取得

  1. ユニットごとのメンバーを辞書で定義(先頭=UL、2番目=LE)
  2. ポジション(UL/LE)と開発者名(C19セルの値)を受け取る関数get_ul_le_nameを作成
  3. C19に入力されたエンジニア名から、UL・LEの氏名を自動的に返却
UL = 0
UNIT_MEMBERS = {
        1:["ul1","le1","member1-1"],
        2:["ul2","le2","member2-1","member2-2"],
        3:["ul3","le3","member3-1","member3-2","member3-3"],
        4:["ul4","le4","member4-1","member4-2"]
}

def get_ul_le_name(position:int, engineer:str) -> str:
    if not engineer:
        return ""
    engineer = (engineer.split("さん"))[0]
    for members in UNIT_MEMBERS.values():
        if engineer in members:
            target_name = members[UL] if position == UL else members[LE]
            return target_name+"さん"
    position_name = "UL" if position == UL else "LE"
    return f"該当する{position_name}がいません"

engineer = xl("C19")
get_ul_le_name(UL,engineer)

LEの取得

positionを変更(LE = 1)して同じ関数を呼び出します。

LE = 1

get_ul_le_name(LE,engineer)

まとめ

今回ご紹介したように、Python in Excelはデータ分析だけでなく、Excel業務の自動化にも活用できます。特に、他のセルの値をもとに返却値を自動化するケースでは非常に便利です。

ただし次のような注意点があります。

  • 複雑なテンプレート作成や高度な自動化には不向き
  • セル単位の入力・処理自動化が中心
  • ワークフロー全体の自動化にはVBAマクロやPower Automate等検討を推奨

今回の実装は「ULとLEの入力自動化」というシンプルな例でしたが、応用すればレビュー担当者割り当てやテストケースの自動補完など、さまざまなExcel作業を効率化できます!


KIYOラーニング株式会社について

当社のビジョンは『世界一「学びやすく、分かりやすく、続けやすい」学習手段を提供する』ことです。革新的な教育サービスを作り成長させていく事で、オンライン教育分野でナンバーワンの存在となり、世界に展開していくことを目指しています。

プロダクト

  • スタディング:「学びやすく・わかりやすく・続けやすい」オンライン資格対策講座
  • スタディングキャリア:資格取得者の仕事探しやキャリア形成を支援する転職サービス
  • AirCourse:受け放題の動画研修がついたeラーニングシステム(LMS)

KIYOラーニング株式会社では一緒に働く仲間を募集しています

14
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?