LoginSignup

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Power automateのForms上の複数回答の[""]を削除したい。

解決したいこと

Power automateのFormsで複数回答可の質問があります。回答はExcelの1つのセルにまとめて入力したいのですが、
image.png

複数回答の場合、配列の形になるのでそのまま「表に行を追加」アクションを使用してexcelの1つのセルに入力すると下記のように["複数回答"]と、[""]まで入力されます。
image.png

[""]のみを削除し、「ミーティング,トレーニング」としたいのですがどうすればよいか教えていただければ幸甚です、

該当するソースコード

power automateのフローです。
image.png
「表に行を追加」アクションの出力です。
image.png

自分で試したこと

replace関数なども試してみましたがうまくいきません。

0

1Answer

上記フローでいうと、「応答の詳細を取得する」と「表に行を追加」の間に、「変数を初期化する」アクションを追加して、 jsonの'REASON'項目にreplace関数を三段重ねて、 '"'と'['と']'を空文字に変換することで実現できます。

replace(replace(replace(variables('jsonObject')['REASON'],'"',''),'[',''),']','')

当方の環境では、'jsonObject'という変数名ですが、
「応答の詳細を取得する」と「表に行を追加」の定義の詳細が無いので、質問者さんの環境での変数名は不明です。

「表に行を追加」のG列には、追加した変換後REASON変数を指定します。

0Like

Comments

  1. @takaekokaz

    Questioner

    @nak435
    いつもご指導ありがとうございます。
    現在出張中で、返事が遅れて申し訳ありません。
    出張の移動時間で即席で考えた方策はofficeスクリプトでreplaceを3回かませるスクリプトを実行すれば何とか解決できました。
    nak435様に教えていただいた方法も帰宅後試してみたいと思います。
    これからもご指導よろしくお願いします。
    __私の即席スクリプト____
    function main(workbook: ExcelScript.Workbook) {
    let selectedSheet = workbook.getActiveWorksheet();
    let reasonCL=selectedSheet.getRange("H:H");//変換文字列の列です。
    reasonCL.replaceAll("["","",{completeMatch:false})
    reasonCL.replaceAll(""", "", { completeMatch: false })
    reasonCL.replaceAll("]", "", { completeMatch: false })

    }

Your answer might help someone💌