検索しても条件にあう内容が見つけれなかったので質問させていただきました。
下記のシート1はフォームから入力され、シート1の名前に入力された内容をシート2から探し、一致があればシート2のB列部分を抜き出し、一致がなければ「一致なし」とシート1のC列に書き出す方法がわかりません。
スプレッドシート の関数を使って似たような動作は可能ですが、フォーム入力をした際に新しい行が追加された関係か、C列に関数が反映されなかったため、GASを使って同様の操作を行えないかと思い質問いたしました。
(シート1)フォームから入力される
| 名前 | 個数 | 種類 |
|---|---|---|
| リンゴ | 2 | |
| さんま | 1 | |
| みかん | 5 | |
| きゅうり | 1 | |
| 白菜 | 2 | |
| レタス | 2 | |
| マグロ | 2 | |
| 鯖 | 2 |
(シート2)
| 名前 | 種類 |
|---|---|
| リンゴ | 果物 |
| さんま | 魚 |
| みかん | 果物 |
| きゅうり | 野菜 |
| 白菜 | 野菜 |
| レタス | 野菜 |
| マグロ | 魚 |
| サーモン | 魚 |
(シート1)結果
| 名前 | 個数 | 種類 |
|---|---|---|
| リンゴ | 2 | 果物 |
| さんま | 1 | 魚 |
| みかん | 5 | 果物 |
| きゅうり | 1 | 野菜 |
| 白菜 | 2 | 野菜 |
| レタス | 2 | 野菜 |
| マグロ | 2 | 魚 |
| 鯖 | 2 | 一致なし |
別の質問でも指摘されてたかと思いますが、javaは関係ないのでタグを外しましょう。GASはjavascriptをベースとしてますが、javaとjavascriptはまったく別物です。
で、ご質問の件は関数で解決できそうなので、関数だとどうやったかを追記ください。
Sawa様
回答ありがとうございます。
教えていただいたjavaとjavascriptの指摘について、今に至るまで違うものと認識しておらず誤解を生むようなタグづけをしてしまいました。
申し訳ありません。
関数上で動かす際ですが、シート1のC2部分に下記の関数を入れ下までコピーすることで似たような動作をさせることはできました。
=IF(COUNTIF('シート2'!A2:A,D2)>0,'シート2'!B2,"一致なし")
本当はarrayformula関数でいっぺんに下まで書き出したかったのですが、arrayformula関数はCOUNTIFなどの範囲を示すものでは使えないため下までコピーをするという荒技をすることとなりました。
GASもしくはGASを使わずにスプレッドシート関数上で解決ができる方法が思い浮かばないため、ご存知でしたら是非ご教授願います。
回答1件
あなたの回答
tips
プレビュー