• ベストアンサー

エクセル 計算式を教えて

下のような表で、セルに水という言葉が入った場合にその日をカウントした結果を表示させます。 セルに水と水1とか水3とか別の文字が混ざってもカウントする。 結果がEの7になるような計算式を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

 検索対象となる言葉が「水」であると決まっていて、E7に検出結果の1,5,7,8,11,12,15,19,20と表示するのであれば作業用に1行使用する事で目的通りになります。  まず、適当な行(ここでは仮に5行目とします)のB列のセルに次の関数を入力して下さい。 =IF(COLUMN()=COLUMN($B$2),"",INDEX(5:5,COLUMN()-1))&IF(COUNTIF(B$3:B$4,"*水*"),","&B$2,"")  次に、B5セルをコピーして、C5~U5の範囲に貼り付けて下さい。  そして、E7セルには次の関数を入力して下さい。 =REPLACE($U$5,1,1,)  以上です。

その他の回答 (5)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

回答No.2です。 >結果がEの7になるような計算式を教えてください。 質問の文言を読み違えているようです。 D7に"水="としてE7に検出結果の1,5,7,8,11,12,15,19,20と表示するのであれば作業用に2行使用することで目的通りになります。 B5=IF(COUNTIF(B3:B4,"=*水*")>0,COLUMN(B2),"") B6=IF(TRIM(A6)=TRIM(A6&" "&IFERROR(INDEX(2:2,SMALL(5:5,COLUMNS($B:B))),"")),"",A6&" "&IFERROR(INDEX(2:2,SMALL(5:5,COLUMNS($B:B))),"")) B5:B6をU5U6までコピーする E7=SUBSTITUTE(TRIM(OFFSET(A6,0,COUNT(5:5)))," ",",") 添付画像で確認してください。 尚、元データが読みにくかったので関連の無いデータを割愛しました。

noname#204879
noname#204879
回答No.4

別解です セル B2 における[条件付き書式]を次のとおりに設定 数式が   =COUNT(FIND("水",B3:B4))>0 パターン色 緑 結果は添付図を参照されたし

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! >結果がEの7になるような計算式を教えてください すなわち単に個数を求めるだけではダメなのですね? タイトルが >エクセル 計算式を教えて というコトですので、関数で無理やりやるとすれば、仮に8行目を作業用の行として使用します。 B8セルに =IF(COUNTIF(B3:B4,"*水*"),B2&",","") という数式を入れ、U列までオートフィルdコピーしておきます。 そしてE7セルに =TRIM(CONCATENATE(B8,C8,D8,E8,F8,G8,H8,I8,J8,K8,L8,M8,N8,O8,P8,Q8,R8,S8,T8,U8)) という数式を入れてみてください。 (最後に一つ余計なカンマが入ってしまいますが、何とかご希望に近い形にならないでしょうか?) ※ 手っ取り早いのはVBAだと思います。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim j As Long, c As Range, str As String For j = 2 To 21 Set c = Cells(3, j).Resize(2).Find("水", LookIn:=xlValues, lookat:=xlPart) If Not c Is Nothing Then str = str & Cells(2, j) & "," End If Next j Range("E7") = Left(str, Len(str) - 1) End Sub 'この行まで ※ 関数でないので、データ変更があるたびにマクロを実行する必要があります。m(_ _)m

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>結果がEの7になるような計算式を教えてください。 E7セルへ以下の式を入力してください。 =COUNTIF(B3:U4,"=*水*")

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

=COUNTIF(A1:S1,"*水*") とすれば水を含むセルを1とカウントします。

関連するQ&A