0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft ListsにExcelの情報を使ってアイテムを新規作成するPower Automateを作る

Last updated at Posted at 2025-07-11

久しぶりに嫌々ながらPower Automateを使います。今回はM365 Copilotの助けを借りながら進めていきたいと思います。

しかし、最初から結構騙されましたねぇ。MS製品なので特別に学習していると期待したのですが関係ないようです。

使い方のイメージ

Microsoft Listsに登録したい情報を記入したExcelを選択して、右クリックのメニューの中からフローを実行させる。

image.png

今回はインスタント クラウド フローを使います。

この中の選択したファイルの場合を使います

image.png

実際の設定はこんな感じです。

image.png

次に「作成」を使ってファイル名を格納します。ここでも騙されましたね。Idを使えって言われたけどエラーになるんですよねぇ。Googleで検索したらファイル名を使っているブログがあったので、今回は早く解決できたけど...

image.png

表内に存在する行を一覧表示ではこの上記「作成」の出力を使います。(Fileの入力で使います)

image.png

Excelのテーブルを「それぞれに適用する」を使って1レコードずつ処理します。

ExcelのBodyを入力に使ってループを回します

image.png

全体の感じは以下の通りです。

image.png

StartDateとEndDateは出力を使って値を変換します。
Microsoft Lists日付型の項目には''は入らないのでNullに変換します。
これはM365 Copilotの提案でOKでした。

Excelの日付は基準日からの日数が入っているみたいなので、このような形になるらしい。

if(equals(items('それぞれに適用する')?['運用開始日'], ''), null, addDays('1899-12-30', int(items('それぞれに適用する')?['運用開始日']), 'yyyy-MM-dd'))

Noは数値型の項目です。これがかなりやっかいでした。ここでもExcelからの値が無い場合には''になっているので、これをNullに変換する必要があります。

M365 Copilotを使ってもうエラーになりますね。数値が入っているときは機能するけど...

IF(
  equals(int(items('それぞれに適用する')?['No']),null),
  null,
  int(items('それぞれに適用する')?['No'])
)

再度やり取りして、以下の式なら機能しました

if(
  equals(coalesce(items('それぞれに適用する')?['No'], ''), ''),
  null,
  int(items('それぞれに適用する')?['No'])
)

項目の作成はこのような感じ。なんか項目の作成って名前よりはアイテムの作成の方がいいけどね。

image.png

関連資料

ユーザ型のフィールドの追加方法


0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?