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

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

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

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

Q&A

解決済

2回答

363閲覧

セル内の文字列連続してたらエラーにするには

shiyuh

総合スコア21

Google スプレッドシート

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

0グッド

0クリップ

投稿2022/06/22 12:49

参考画像のように、チーム順を作成する際に、セル内に入ってる名前が下方セル内にもあり、2チームに所属してる人がいる場合、一目でわかるようにしたいです。画像のように、下方向セル内で連続してる名前を表示するにはどうしたら良いでしょうか?連続してる名前が難しければ人数でも結構です。

因みにGoogleスプレッドシートでの運用となります。

イメージ説明

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

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

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

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

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

k.a_teratail

2022/06/23 04:48

作業用のセル、もしくはシートを使用しても良いのでしょうか?
shiyuh

2022/06/23 05:35

作業シートやセルを使っても構いません!
sawa

2022/06/23 10:28

連続してるというのは、「改行区切りでセルに入った氏名が一つ上のセルにも含まれている場合」という意味合いですか?
guest

回答2

0

連続という言葉の意味を取り違えてたらすみません。
一つ前のチームにエントリーしている人をカウントするように修正しました。(C列はワーク列です。)

[C列] =IF(ISBLANK(INDEX($A:$A,ROW())),INDEX($C:$C,ROW()-1),INDEX($A:$A,ROW())) [D列] =IF(COUNTIFS($C:$C,INDEX($C:$C,MATCH(INDEX($C:$C,ROW()),$C:$C,0)-1),$B:$B,INDEX($B:$B,ROW()))=0,"",INDEX($B:$B,ROW())) [E列] =IF(OR(INDEX($C:$C,ROW())=INDEX($C:$C,ROW()+1),COUNTIFS($C:$C,INDEX($C:$C,ROW()),$D:$D,"<>'")=0),"",COUNTIFS($C:$C,INDEX($C:$C,ROW()),$D:$D,"<>'"))

<追記>
もう少しシンプルに書くと以下の式です。(先頭行に入力後、下方にセルコピー)

[C2] =IF(ISBLANK($A2),$C1,$A2) [D2] =IF(COUNTIFS($C:$C,INDEX($C:$C,MATCH($C2,$C:$C,0)-1),$B:$B,$B2)=0,"",$B2) [E2] =IF(OR($C2=$C3,COUNTIFS($C:$C,$C2,$D:$D,"<>'")=0),"",COUNTIFS($C:$C,$C2,$D:$D,"<>'"))

投稿2022/06/23 06:24

編集2022/06/24 02:56
jinoji

総合スコア4585

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

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

shiyuh

2022/06/24 17:32

シンプルな式のご提示ありがとうございます。データ量が多くなったときに、作業シートなしで実現できるのはとても魅力的だったのですが、今回の式をシートに実装したところうまく作動しなかったため、別の解答をベストアンサーにさせていただきました。またご縁があればお力添え願います!!
jinoji

2022/06/24 23:44

あ、もしかして、出演者は一つのセルに入っていたのですかね。私の回答は、それぞれが1行でチーム名が結合セルになっている前提のものでした。
guest

0

ベストアンサー

作業シートを使用しても良いとのことで…
イメージとしてはこのような感じでしょうか?

シート57作業用シート
イメージ説明イメージ説明

画像で記載した作業用シートの数式を下記に書き出しました。

作業用シート

セル番号数式
A2=IF(ISERROR(SPLIT('シート57'!B2,CHAR(10))), "",SPLIT('シート57'!B2,CHAR(10)))
A3=IF(ISERROR(SPLIT('シート57'!B3,CHAR(10))), "",SPLIT('シート57'!B3,CHAR(10)))
...A3から下に引っ張って数式を適応することも可能です
F2, G2, H2, I2なし
F3=IF(COUNTIF($A$2:$D2,A3)>=1,A3,"")
G3=IF(COUNTIF($A2:$D2,B3)>=1,B3,"")
H3=IF(COUNTIF($A2:$D2,C3)>=1,C3,"")
I3=IF(COUNTIF($A2:$D2,D3)>=1,D3,"")
...F2~I3を選択し下に引っ張って数式を適応することも可能です
K2, L2なし
K3=TEXTJOIN(CHAR(10),TRUE,F3:I3)
K4=TEXTJOIN(CHAR(10),TRUE,F4:I4)
L3=COUNTIF(F3:I3,"<>'")
L4=COUNTIF(F4:I4,"<>'")
...K4~L4から下に引っ張って数式を適応することも可能です

シート57

セル数式
C3='作業用シート'!K3
C4='作業用シート'!K4
D3='作業用シート'!L3
D4='作業用シート'!L4
...C4~D4から下に引っ張って数式を適応することも可能です

投稿2022/06/23 06:11

編集2022/06/24 00:08
k.a_teratail

総合スコア845

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

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

shiyuh

2022/06/23 14:06

ありがとうございます。ご提示いただいた内容ですと、既にA列の前の行で名前が出てきてたらC列に表示となっているかと思うのですが、チーム1に入ってる名前がチーム2に入ってたらC列に表示・また、チーム2に入ってる名前がチーム3に入ってたらC列に表示という形は可能でしょうか?前後チームで同じ人が連続で出ることを無くしたいのですが。。。。
k.a_teratail

2022/06/23 14:21

チーム1とチーム2の比較 チーム2とチーム3の比較 チーム3とチーム4の比較 チームNとチームN+1の比較 での比較なのですね。 連続の部分を履き違えていたみたいです。 回答の方、修正します。
k.a_teratail

2022/06/24 00:08

回答の方、修正しました。 シート57の方で、色がついている部分での比較を行っています。
shiyuh

2022/06/24 17:33 編集

細かくありがとうございます。 少し式を変えて、 F3=IF(COUNTIF($A2:$D2,A3)>=1,A3,"") F4=IF(COUNTIF($A3:$D3,A4)>=1,A4,"") : : : とすることでやりたいことができました。ありがとうございます!! とても助かりました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問