Excelの関数を用いて以下のような処理は可能でしょうか。
A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|
A|B|C|B|C|A|C|A|B|B|C|A|B|B|B|C|A|C|B|A|3|
セルA1からT1にはA,B,Cどれかの文字列が入っています。Aの文字列と次に現れるAの文字列との間にセルが3個以上あれば、U1のセルにその現れる回数が表示される。(上記の場合"3")
このようなことが、関数だけでできるでしょうか。
もしできるようでしたらそのやり方をご教授ください。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
VBAを使って、ユーザー定義関数を作れば簡単ですが、ワークシート関数だけを使うと下のようになりました。
作業用のセルを使っています。
セルV1 に探したい文字列を入力するとして、(例えばA)
セルE2:=IF(AND(COUNTIF($A$1:E1,$V$1)-COUNTIF($A$1:A1,$V$1)=1,COUNTIF($A$1:A1,$V$1)>0,E1=$V$1),1,0)
とし、セルT2までコピーします。
セルU1:=SUM(A2:T2)
A1:D1 はカウント対象外で、E1より右に対して、新たに探したい文字列が出てきたら、そのセルの4つ左までの探したい文字列の個数をカウントし、1つ少ないことを要件にしています。
No.3
- 回答日時:
◆関数による方法です
U3=SUMPRODUCT(N(FREQUENCY(IF((A1:T1<>"A")*(A1:T1<>""),COLUMN(A1:T1)),IF((A1:T1="A")+(A1:T1=""),COLUMN(A1:T1)))>=3))
★この式は「配列数式」です。式を入力後、Ctrl+Shift+Enter をおして、式を確定させてください。
★確定すると、式の両端に{ }がつきます。
SUMPRODUCTなんて関数初めてみました...Excelは奥が深いですね。おかげで何とかなりそうです。ありがとうございました。
No.1
- 回答日時:
関数だけで実現できました。
しかし、U3セルだけに式を埋め込んで実現するのは不可能では
ないと思いますが、とても難しいと思います。
私の場合は、別のセルにA1~T1セルを&演算子で結合した文字列を
作り、それに対してFIND関数を使って、"A"の文字列がある位置を
探しました。そしてそれぞれの位置の差を取り、3以上のものの
カウントを取りました。
この回答への補足
回答ありがとうございます。Kazaminさんのおっしゃるように、別のセルも使ってやれば実現可能のような気がしてきました。
私の説明がまずかったので補足します。セルにはABCどれかの文字列だけでなく、空白セルが入っている場合があります。そのような場合はどうするのが簡単でしょうか。文字列を結合するだけだと空白セルはカウントされませんよね?
また、説明を簡単にするために文字列にABCを使いましたが、実際には一つのセルに3~4文字程度の文字列が入ります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/07/08 13:46
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/15 08:30
- Excel(エクセル) Excelについて質問です(ver2019) 1 2023/06/30 21:20
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
【Excel】数字を3倍にし、なお...
-
エクセルのデーターが2か月前の...
-
エクセル マクロ チェックボックス
-
Excel分析ツールでのポアソン回...
-
エクセル共有したが、アクセス...
-
エクセルの計算
-
【マクロ】顧客番号にて一致さ...
-
(マクロ)データをAブックからB...
-
Excelでセルの値が同じか...
-
UNIQUE関数が使えないバージョ...
-
エクセル:一覧表に存在する文...
-
Excel フィルターを掛けた状態...
-
エクセルを使っていて2024/5/15...
-
Googleスプレッドシートでファ...
-
エクセルで日付を数字+アルフ...
-
エクセル②
-
エクセル 文字を増やしたい。
-
【マクロ】毎回、ファイル名が...
-
[関数得意な方]教えて下さい・...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報