【Power Apps】生成AI分析が捗る!ボタン一つでデータを「テーブル形式」でコピーする実装テクニック
業務アプリで蓄積したデータを「ちょっと生成AIに分析させたい」「傾向を生成AIに探らせたい」と思ったことはありませんか?
わざわざCSVエクスポート機能を作ったり、Excelファイルをダウンロードして添付するのは少し手間ですよね。 今回は、Power Appsの画面上からボタン一つで、Excelや生成AIにそのまま貼り付けられる形式でデータをクリップボードにコピーする方法を紹介します。

実現したいこと
- Power Apps 内のデータをフィルタリングして取得
- ヘッダー付きの「表形式(タブ区切り)」テキストとしてクリップボードにコピー
- 生成AI のプロンプト欄にペーストして活用

実装コード
ボタンの OnSelect プロパティに以下のコードを設定します。 ポイントは Char(9)(タブ文字)と Char(10)(改行文字)の使い方です。
コード
Copy(
// 1. ヘッダー行の作成(タブ区切り)
"ProjectName" & Char(9) &
"CategoryName" & Char(9) &
"ActionName" & Char(9) &
"Notes" & Char(9) &
"StartTime" & Char(9) &
"EndTime" & Char(9) &
"Duration" & Char(10) &
// 2. データ行の連結
Concat(
// 直近N日分のデータを抽出して開始時間順にソート
Sort(
Filter(
WorkLog_Transaction,
StartTime >= DateAdd(Today(), -Value(txtLastDate.Text), TimeUnit.Days)
),
StartTime,
SortOrder.Ascending
),
// 各カラムをタブ区切りで結合
ProjectName & Char(9) &
CategoryName & Char(9) &
ActionName & Char(9) &
Notes & Char(9) &
Text(StartTime, "yyyy/mm/dd hh:mm") & Char(9) &
Text(EndTime, "yyyy/mm/dd hh:mm") & Char(9) &
Duration,
// 行末に改行コードを入れる
Char(10)
)
);
Notify("データ(所要時間付き)をコピーしました", NotificationType.Success)技術的な解説ポイント
1. Copy() 関数の活用
Power Apps の Copy() 関数を使うと、指定したテキストをデバイスのクリップボードに送ることができます。これにより、ユーザーは「Ctrl + V」だけでデータを他のアプリに持ち出せます。
2. Char(9) でExcelライクな挙動に
ここが最大のポイントです。 文字列の連結に Char(9) を使用しています。これは ASCIIコードで 「水平タブ」 を意味します。
- Excelに貼る場合: タブが自動的に「列」の区切りとして認識され、綺麗にセルに入ります。
- 生成AIに貼る場合: AIもタブ区切りテキストを「表データ」として認識しやすいため、構造化データとしてスムーズに解析してくれます。
3. Concat で一括文字列化
ForAll ではなく Concat を使うことで、テーブル内の全レコードを単一の長い文字列(テキストの塊)に変換しています。ループ処理の中で各レコードの末尾に Char(10)(改行)を付与することで、行ごとのデータ整形を行っています。
4. 日付の文字列化
Text(StartTime, "yyyy/mm/dd hh:mm") のように明示的にフォーマットを指定しています。AIに渡す際、ロケールに依存しない明確な書式にしておくことで、解析ミス(月と日の取り違えなど)を防ぐことができます。
活用シナリオ:生成AIへのプロンプト例
このボタンでコピーしたデータを、生成AIに以下のように投げると効果的です。
ユーザー: 以下のデータは私の作業ログです。時間の使い方の傾向を分析し、効率化のためのアドバイスを3点挙げてください。
[ここで Ctrl + V (コピーしたデータを貼り付け)]
まとめ
Power Apps はデータの入力だけでなく、データの「利活用」への入り口としても優秀です。 複雑な出力機能を実装しなくても、テキスト処理の工夫だけで、AI連携が劇的にスムーズになります。ぜひ試してみてください。
