A B C D
1 4 明 明日
2 2 投 投手
3 1 答 回答
4 5 情 個人情報
5 3 確 慎重に確認
: :
: :
このような表があり、
A列にはランダムで数字を出して、
A列の数字を下に、C列にvlookupを使って、まず漢字一文字を返します。
さらに、C列の一文字に対応する熟語や文章を
別の表からD列に表示させています。
今、B列1行~5行にそれぞれC列1行~5行の文字が
範囲C:D内の熟語内や文章内にいくつあるかを返したいのですが、
どうすればよいでしょうか。
注意点として、
・C列の文字はころころと変わるようにしてあります。
そのためFIND("明",c:d)などでは対応できません。
・C列には一文字だけ表示され、D列は必ずその一文字を含みます。
ただし、文字列の先頭にあったり、真ん中にあったりと配置パターンは一定しません。
countif(C1:D5,C1)でもだめです。
どうぞよろしくお願いします。
No.10
- 回答日時:
VBAのコードです。
function myfunc(strA as string, strB as string) as long
myfunc = ubound(split(strB, strA))
end function
これを「自作関数」として貼り付け、セルB2なら式[=myfunc(C2, D2)]としてください。
「自作関数」はシートの「コードの表示」では駄目でした。
貼り付けする方法は検索ワード[EXCEL 自作関数]で検索してみてください。
No.9
- 回答日時:
[回答番号:No.8]へのコメント、
私も最初は「さっぱり理解できない」状態でした。(^_^)
1 答 例えば下のような表に list なる名前を付けて
2 投 おけば、次式で質問文にある表のC列が得られ
3 確 ます。
4 明 C1: =VLOOKUP(A1,list,2)
5 情
6 日 さらに、質問者は「C列の一文字に対応する熟語
7 感 や文章を別の表からD列に表示させています」と
8 認 仰っているのでそこは詮索しないでおこうかと。
9 報
10 個
No.8
- 回答日時:
こんにちは。
誰も言っていないようですから、あえて書かせていただきますが、
質問に出された内容は、さっぱり理解できないのです。
一体、どうやって、VLOOKUPで、「明 明日」というように、C列に出すことが出来るのか、見当がつきません。そういう前提がはっきりしていないと、その後に構築していく内容がナシ崩しになるのではないでしょうか?
A列がランダムだから、RANDOMBETWEEN を使うにしても、
4 明 明日
4から、どうして、D1 の「明日」から、「明」を導きだすのでしょうね。
以下のようなら、絶対に、A列に、4は出てきません。
A列
A1:
=RANDBETWEEN(1,LEN(D1))
C列
C1:
=MID(D1,A1,1)
B列
B1;
=SUMPRODUCT(LEN($C$1:$D$7)-LEN(SUBSTITUTE($C$1:$D$7,C1,"")))
ということでしょうか。1を足している人がいますが、ランダムで出されるものですから、C列もカウントに含めるということになるとは思います。必ず、ひとつはあるけれども、ひとつ以上ですね。COUNTIF は、2つあっても、3つあっても、セルがひとつなら、1つとしてカウントされるのから、使えません。
少なくとも、ランダムで数値を出すところから、その目的性が分からないのです。何か、どこかに食い違いがあるのかもしれません。だから、こちらが想定している話とは違う可能性もあると思います。
No.6
- 回答日時:
[回答番号:No.4この回答への補足]へのコメント、
A B C D
1 4 2 明 明日
2 2 2 投 投手
3 1 2 答 回答
4 5 3 情 個人情報
5 3 2 確 慎重に確認
6 7 2 感 感情的
7 9 4 報 スポーツ報知
8 6 3 日 日刊工業新聞
9 10 2 個 当該報告不備
10 8 3 認 認知症
B1: {=1+SUM(LEN(D$1:D$10)-LEN(SUBSTITUTE(D$1:D$10,C1,"")))}
これは配列数式です。
【お断り】「配列数式とは何か?」の質問には回答しません。
No.4
- 回答日時:
》 B列1行~5行にそれぞれC列1行~5行の文字が範囲C:D内の熟語内や
》 文章内にいくつあるかを返したい…
お示しの例の場合、「B列1行~5行」に表示されるべき数値を示してください。すべて 1 あるいは 2 ですか?
それ以外の数値になる場合のD列のデータ例をも示してください。
この回答への補足
質問者です。
皆様、早速のご解答ありがとうございます。
また、質問文の説明内容が不十分で申し訳ありませんでした。
A B C D
1 4 2 明 明日
2 2 2 投 投手
3 1 2 答 回答
4 5 3 情 個人情報
5 3 2 確 慎重に確認
6 6 2 感 感情的
(B列には返してほしい数を記載しております。)
ここでランダムでC1に表示された
「明」はC列&D列に2つあります。
「情」という文字はC列&D列に全部で3つあります。
つまり、C1に無作為に表示された一文字が
C列とD列内にいくつあるかを数えていただきたいのです。
なにとぞよろしくお願いします。
No.3
- 回答日時:
=LEN(D1)-LEN(SUBSTITUTE(D1,C1,""))+1
この回答への補足
質問者です。
皆様、早速のご解答ありがとうございます。
また、質問文の説明内容が不十分で申し訳ありませんでした。
A B C D
1 4 2 明 明日
2 2 2 投 投手
3 1 2 答 回答
4 5 3 情 個人情報
5 3 2 確 慎重に確認
6 6 2 感 感情的
: : :
(B列には返してほしい数を記載しております。)
ここでランダムでC1に表示された
「明」はC列&D列に2つあります。
「情」という文字はC列&D列に全部で3つあります。
つまり、B1には
C1に無作為に表示された一文字が、
C列とD列内全てでいくつあるかを数えて
その数を返していただきたいのです。
なにとぞよろしくお願いします。
No.2
- 回答日時:
B1 =LEN(D1)-LEN(SUBSTITUTE(D1,C1,""))
で、どうでしょう
この回答への補足
質問者です。
皆様、早速のご解答ありがとうございます。
また、質問文の説明内容が不十分で申し訳ありませんでした。
A B C D
1 4 2 明 明日
2 2 2 投 投手
3 1 2 答 回答
4 5 3 情 個人情報
5 3 2 確 慎重に確認
6 6 2 感 感情的
: : :
(B列には返してほしい数を記載しております。)
ここでランダムでC1に表示された
「明」はC列&D列に2つあります。
「情」という文字はC列&D列に全部で3つあります。
つまり、B1には
C1に無作為に表示された一文字が、
C列とD列内全てでいくつあるかを数えて
その数を返していただきたいのです。
なにとぞよろしくお願いします。
No.1
- 回答日時:
VBAを使う。
今、コードを書ける環境にないので考え方のみ。
シートの「コード」にfunctionを作成。
引数はStringで文字(セルC)と文字列(セルD)を渡す。
functionはSplitを用いて文字列(セルD)を文字(セルC)で区切り、UBoundで区切った結果の数をカウントし、戻り値とする。
で、セルBに式[=<自作のfucntion(セルC、セルD)>]を設定。
お忙しいところ、ご解答ありがとうございました。
ただ、恥ずかしながら私はVBAに関してまったくの無知です。
もし、ご回答者様にお時間がございましたら
ぜひ、コードをご用意していただければと存じます。
恐れ多いお願いではございますが、
どうぞよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft365で提供しているアプリ
-
会社PCのメールが更新されない
-
outlookのメールが固まってしま...
-
teams設定教えて下さい。 ①ビデ...
-
Windows 11で、IME言語バー(IM...
-
Microsoft Officeを2台目のPCに...
-
英数字のみ全角から半角に変換
-
Outlook で宛先が複数の場合の人数
-
【Excel VBA】PDFを作成して,...
-
Microsoft Formsの「個人情報や...
-
マクロ1があります。 A1のセル...
-
Officeを開くたびの「再起動メ...
-
Office 2021 Professional Plus...
-
会社のTeamsのことで相談です。...
-
【Excel】セル内の文字が正しい...
-
Excel テーブル内の空白行の削除
-
WindowsのPCで単純な勤怠管理を...
-
エクセルでレーダーチャートの...
-
【マクロ】違うブックのCallス...
-
Excel 日付を比較したら、同じ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
英数字のみ全角から半角に変換
-
outlookのメールが固まってしま...
-
会社PCのメールが更新されない
-
マイクロソフト 一時使用コード...
-
大学のレポート A4で1枚レポー...
-
Officeを開くたびの「再起動メ...
-
Microsoft Formsの「個人情報や...
-
one drive使えるpcを買う
-
マクロ自動コピペ 貼り付ける場...
-
PDFのハイパーリンクを自動的に変更し...
-
あらかじめ用意したテンプレー...
-
別シートの年間行事表をカレン...
-
【Excel VBA】PDFを作成して,...
-
エクセルでXLOOKUP関数...
-
office365って抵抗感ないですか?
-
ステータスバーの合計に表示さ...
-
【スプレドシート】IF関数の複...
-
Teamsで課題を提出します。 画...
-
Outlook で宛先が複数の場合の人数
-
Microsoft Officeを2台目のPCに...
おすすめ情報