質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

910閲覧

IFで指定したテキストを自動入力したい

Ryuakira

総合スコア16

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2020/08/05 05:54

編集2020/08/05 07:19

前提・実現したいこと

Googleスプレッドシートで応募者の管理シートを作成しています。
C列に応募者名、N列に連絡したかどうかを「未」と「済」を記入して確認する列を作成しており、
応募者名が追加された際に自動でN列に「未」を入力するように設定したいのですが
上手く作動しません。
イメージ説明

お力をお貸しいただけないでしょうか。

発生している問題・エラーメッセージ

エラーメッセージは出ませんが、 関数を記入した枠から下の列が同じ条件で作動しませんでした。 また他の列のC列に入力した際に、関数を記入した箇所も空欄になってしまいます。

該当のソースコード

関数(spread) =ARRAYFORMULA(IF(AND(C2<>"",$N2=""),"未","")) //Falseを""にしているのは、応募者が追加されていない列を空欄にするためです。

試したこと

ネットで検索しましたが、わかりませんでした。

補足情報(FW/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sawa

2020/08/05 07:48

関数はN列に入れたいってことでしょうか?それだと式の中の参照に N列を入れるのは無理ですよ。
Ryuakira

2020/08/05 08:03

sawa様 ご回答ありがとうございます。 関数はN列にいれようと思っていました。 もし関数を他の列に入れるとした場合、 =ARRAYFORMULA(IF(AND(C2<>"",$N2=""),"未",""))の式に 「未」をN列に入れるという指示を入れたいのですが、 $N2=を"未"と""の前に足す形になるのでしょうか。
sawa

2020/08/05 08:16

「未」をN列に入れるという指示 ・・・出来ません。 N列を関数を入れる場所にするか、手入力する場所(プルダウンでの選択も含む)にするか、どっちかしか出来ません。関数ってのはそういうものです。 関数でやるなら、N列はプルダウンで選択式として、式(未を表示する場所)は他の列としないといけません。
Ryuakira

2020/08/05 08:29

sawa様 そうなのですね。 1行だけの話に限って言えば、N列に「=ARRAYFORMULA(IF(AND(C2<>"",$N2=""),"未",""))」を 入れれば、C列にテキストを入れ込んだ際に「未」がN列に自動で反映されたので、いけるものだと思っていました。 GASでやればいけますかね。 何度も質問してしまい申し訳ございません。
sawa

2020/08/05 08:50

反復計算をアリにすれば確かに「未」は表示されますが、そこを「済」に変えたら式が消されてしまいます。ARRAYFORMULAを使った場合は、式が展開されるN列のどこかに 済を 手入力したら 全部エラーになります。 GASでやれば希望する動きは実現出来ますが、GASでやるような話ではないので、運用を変えた方がいいんじゃないでしょうか。 私なら 結果連絡欄は 結果連絡日(日付)を記入させて、別の列に 関数で 未、済 を自動表示とします。
Ryuakira

2020/08/05 09:26

sawa様 何度も申し訳ございません。 sawa様にご提案頂いたように連絡日枠(N列)を追加して、結果連絡枠(O列)に下記の式を入れてみたのですが、上手く反応しません。 どこを改善すればよいでしょうか。調べているのですが、見当たらず... =ARRAYFORMULA(IF(AND(C2<>"",$N2=""),"未","済"))
guest

回答1

0

ベストアンサー

O列に結果を表示する式をいれるとのことで、

=ARRAYFORMULA(IF(AND(C2<>"",$N2=""),"未","済"))

を動くように修正します。

ARRAYFORMULAは 適用させたい範囲を指定する必要があります。まずC2、N2の箇所を C2:C100といった具合に、どこからどこまでという範囲に変えないといけません。最後を指定しない場合は、C2:Cといった書き方でも大丈夫です。

あともう1点、ARRAYFORMULA はANDやORが使えません。別の書き方をします。

■参考
https://note.com/akayas_77/n/n6e893a350296

その2点を変更すれば、まずは動くと思います。

=ARRAYFORMULA(IF((C2:C<>"")*($N2:N=""),"未","済"))

ただ、これだとC列空欄のケースが考慮されてなくて、C列が空欄でも 済 になるので、"済"の欄にもう1つIFで計算を入れる必要があります。上記をふまえて修正をしてみてください。

投稿2020/08/05 09:43

sawa

総合スコア3002

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ryuakira

2020/08/05 10:00

sawa様 本当にありがとうございます! 下記で解決しました。 =ARRAYFORMULA(IF((C2:C<>"")*($N2:N=""),"未",IF(C2:C<>"","済",""))) 何度も質問にこたえていただきありがとうございました! 聞かなくても解決できるように頑張ります! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問