アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBA 検索と入力

Excel ブック ぶぶぶ
シート    ししし
列V     検索対象の列です


最終行は、およそ2万行目、
ただし毎月 変わる

したいことは、
列 V について 一番上から下まで
各セルを検索し

ブック ぶぶぶ
シート たたた
列A の縦方向に 格納した単語に合致する場合は

例えばシート ししし
列 V について
任意のセルV30に関して

私は、畑でバナナを収穫した
と入力があり

シート たたた
列A の 
任意のセルA5 にある 
バナナ に検索がヒットした時に

シート ししし 
セルV30 と 同じ行で別の任意の列 例えば Z 30に、

シート たたた
該当セルA5 と同じ行 E5に
格納された任意の単語 ジャガイモ  を

シート ししし
セルZ30 に 入力したい

これをコーディングで教えてください

シート たたた は
いわば 単語帳であり 置き換え 前と置き換え後の単語が縦方向にずらっと 複数 並んでおり 最終行は
7000行くらいで 増える方向において 可変的です

質問者からの補足コメント

  • 同じエクセル ブックにコーディングすることを前提とした質問です

    大量のデータの中には同じ単語 たとえば バナナ を 含む セルが 複数あります

    1行目の見出しの部分は
    ややこしければ
    セル A 1を 見出A
    セルB1を 見出B
    という 具合で構わないです

    これだけの量になると 処理速度が気になります
    知識なくここへ 補足 入力していますが
    値を代入することを多く 繰り返すと 処理速度が遅くなるという動画を見たことがあります
    可能かどうか知らないですが
    処理速度の速い配列を使って入力 処理ができるものか

      補足日時:2023/05/17 18:38
  • なぜかパソコンで補足を追加できなくなっており スマホから入力します

    No 1 について

    シート ししし
    V列

    V列の縦方向は、任意の1つのセルに 単語帳 シート たたた のA列にある単語が 2つ現れる場合もあります

    例えば私はバナナ畑でバナナを収穫した

    複数の行に バナナは あらわれる場合があります

    例えば 50行目と200行目にまた3000行目にバナナ と書いてあります

      補足日時:2023/05/23 22:52
  • No. 3について

    質問の書き方が不完全だったようです

    単語帳 シートたたた
    について、A 列の単語におうじた単語がE列にあります

    シート ししし
    のA列内の文章に含まれる任意の複数単語に応じて、
    Z列から右方向へ
    列Aa 列Ab 列Acのように
    単語帳 シートにある単語を90度傾けるいようなイメージで右方向へ並べています

    Z30に E2に相当する たんぼ
    Aa30に E5に相当するジャガイモ
    です

      補足日時:2023/05/23 23:03
  • No. 4
    単語はそのような意味においては
    完全一致であり
    大文字と小文字を区別しますし
    全角と半角も区別しますし
    ひらがなとカタカナも区別します

      補足日時:2023/05/23 23:05
  • No. 5
    残念ながら 単語は全て完全一致です

    現在5月23日23時頃です
    5つについてお答えしました

    色々事情がありまして 遅くなりました

      補足日時:2023/05/23 23:06

A 回答 (6件)

以下の前提で作成しています。


1.シートししし、シートたたた共に1行目は見出しとする。
2.シートしししの出力列はZ列からAI列までとする。(10列分)
変換対象となる単語が10個を超えた場合、その単語の変換は行われません。
3.高速化を実現するために、配列で操作を行っています。

下記URLへアップしました。
https://ideone.com/i6Coxa

出力列を増やす場合は、
Const OutColSize As Long = 10 '出力列数
の値を増やしてください。
但し、あまり増やしすぎると、メモリを大量に使用しますので、パフォーマンスが低下する可能性が
あります。どの程度が限界かはPCに依存しますので、あなたの方で調整をなさってください。

こちらのPCで実行した結果、所要時間は32秒でした。
シートたたた:7500件
シートししし:21000件
    • good
    • 1
この回答へのお礼

すごい!
すごいです

ありがとうm(_ _)m ございます
夕方以降に拝見します

お礼日時:2023/05/24 09:33

No4です。


No4の項番3に誤りがありましたので訂正します。No4は無視してください。
又、合致の例を追加しました。

文字列の比較時にどのようにして比較しますか。
1.大文字と小文字を区別する。
Yesの場合、catとCATは合致しない。
Noの場合、catとCATは合致する。
Noの場合、caTとCATは合致する。

2.全角と半角を区別する。
Yesの場合、CATとCATは合致しない。
Noの場合、CATとCATは合致する。
Noの場合、CATとCATは合致する。

3.ひらがなとかたかなを区別する。
Yesの場合、ばななとバナナは合致しない。
Noの場合、ばななとバナナは合致する。
Noの場合、ばナナとバナナは合致する。

のようになります。
    • good
    • 0

追加の補足要求です。


文字列の比較時にどのようにして比較しますか。
1.大文字と小文字を区別する。
Yesの場合、catとCATは合致しない。
Noの場合、catとCATは合致する。
2.全角と半角を区別する。
Yesの場合、CATとCATは合致しない。
Noの場合、catとCATは合致する。
3.ひらがなとかたかなを区別する。
Yesの場合、ばななとバナナは合致しない。
Noの場合、ばななとバナナは合致する。

のようになります。
    • good
    • 0

補足要求です。



補足要求1
シート:たたた
A5:バナナ E5:ジャガイモ

シート:ししし
V30:私は、畑でバナナを収穫した
の場合、
Z30へ ジャガイモ を設定したい。

ということですが、
シート:たたた が以下の場合
A2:畑 E2:田んぼ
A5:バナナ E5:ジャガイモ

Z30には、E2の値を設定するのでしょうか。それともE5の値を設定するのでしょうか。


補足要求2
>列の方向に
>増えないという返答をしました
>もう少し 何をしたいのかご説明します
>縦方向にたくさんの文章が入っています
>その文章の中身を分析する方法として
>所定の単語が含まれているか
>そして含まれる単語によって書かれている文章の中身を推測することをしたいのです
>単語の数は増える可能性があるため そういう意味では列は可変的です・・・・①

①の列は可変的です。の意味は、現在Z列に出力しているが、更にAA列、AB列、AC列、等に
出力するようにしたいという意味ですか。
もし、そうであれば、補足要求1については、
Z30へE2(田んぼ) AA30へE5(ジャガイモ)を設定したいということでしょうか?
    • good
    • 0
この回答へのお礼

連絡ありがとうございます 内容をよく調べてベッドをご連絡しますが 明日以降になります

よく精査してくださいましてありがとうございました

お礼日時:2023/05/20 16:40

No.1です。



それぞれのシートの仕様(1行目は項目行?データ?)。
項目行があるのならデータは2行目から?
列方向は固定or変動?
固定ならどこからどこまで?

も一応あると他の人にもわかるでしょう。
寝落ち・業務中に代わりに回答して下さる上級者様がいますし。
    • good
    • 3
この回答へのお礼

1行目は見出し行です
データは2行目からです
見出しが鬱陶しいければ 見出しなしで処理します

列は増えません 固定です

補足欄に返答しました

質問ありがとうございました

お礼日時:2023/05/17 18:40

行数の変化はともかくなのですが、それぞれに重複している場合ってあるのでしょうか?


例えばシート【ししし】のV列にバナナが何行かヒットするとか?
それとも必ず一対一なのか?

【Book:ぶぶぶ】にコードを書くで宜しいですか?
あとExcelのバージョンは記載しておいた方が宜しいかも。
特にExcel単体なのかOffice365なのかでも、手段が変わる場合も。

ちなみに夜勤組なので昼間寝落ちしてしまって返信が遅れましたら、先日の質問者さんのようにブロックされましても気にしません。
まあこの時から、ふくらはぎの軽い肉離れで未だエアーサロンパスです。
    • good
    • 2
この回答へのお礼

エクセルのバージョンは最終的には365ですが テストするパソコンが別にあり365ではございません

列の方向に
増えないという返答をしました

もう少し 何をしたいのかご説明します

縦方向にたくさんの文章が入っています

その文章の中身を分析する方法として
所定の単語が含まれているか
そして含まれる単語によって書かれている文章の中身を推測することをしたいのです

単語の数は増える可能性があるため そういう意味では列は可変的です

お礼日時:2023/05/17 18:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!