[[20240730095521]] 『『データの入力規則 > リスト』 を設定したセル上』(えば) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『『データの入力規則 > リスト』 を設定したセル上のサジェストに上がる条件につきまして』(えば)

お世話になります。
標記につきまして、ご質問させてください。

 1.セルA1に『データの入力規則 > リスト』を設定。
 2.元の値に『案件名』を設定。
 3.『案件名』は、工事データを整理したテーブル上の1カラム。
 4.『案件名』の中には、
   A.令和6年度 緊急浚渫推進工事(ア地区)
   B.令和6年度 緊急浚渫推進工事(イ地区)
   C.令和5年度 森林管理道開設事業 ウ線1工区
   D.令和5年度 林道災害復旧工事(ウ線1号箇所)
   E.令和5年度 林道災害復旧工事(ウ線2号箇所)
   F.令和5年度 林道災害復旧工事(ウ線3号箇所)
  のデータが入力されている。
 5.A1セルに『浚渫』を入力した際、4A,4Bはサジェストされない。
 6.A1セルに『ウ』を入力際、4D,4E,4Fはサジェストされるが、4Cはサジェストされない。

という状況にあり、標記の質問をさせていただいた次第です。
サジェストに上がる選択肢は、条件や要件がありますでしょうか。
全ての文言がサジェストにあがるようするために、どのようにすべきか、ご助言をいただけますと幸いです。

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


 テーブルは詳しくないので間違ってたらごめんなさい。
 サジェスト?変換機能をみたいなことですか?

 *案件名はどこぞの列でしょうか?何処かの列(カラム)ですよね?下の例では、仮)D列に案件名がリストとし 
   てあるとします。
   A1セルで入力規則で選択を切替したら、B列に特定文字に該当する案件名が抽出されるようなイメージでは
   だめなのでしょうか?
 *A1セルは直接入力をしてもいいし、仮)E列に抽出(文字)をリスト化して入力規則の元の値に範囲指定す 
   る。

    |[A] |[B]                                   |[C]|[D]                                         |[E] 
 [1]|浚渫|令和6年度 緊急浚渫推進工事(ア地区)|   |令和6年度 緊急浚渫推進工事(ア地区)      |ア  
 [2]|    |令和6年度 緊急浚渫推進工事(イ地区)|   |令和6年度 緊急浚渫推進工事(イ地区)      |イ  
 [3]|    |                                      |   |令和5年度 森林管理道開設事業 ウ線1工区  |ウ  
 [4]|    |                                      |   |令和5年度 林道災害復旧工事(ウ線1号箇所)|浚渫
 [5]|    |                                      |   |令和5年度 林道災害復旧工事(ウ線2号箇所)|林道
 [6]|    |                                      |   |令和5年度 林道災害復旧工事(ウ線3号箇所)|    

 *B1セルに、数式を入れてA1セルの選択を変更したら、特定文字に該当する案件名が抽出される。
 B1の式=IFERROR(FILTER(D:D,ISNUMBER(SEARCH(A1,D:D))),"")

 こんなんではダメでしょうか?^^;
(あみな) 2024/07/30(火) 12:09:27

あみな様

ご返信いただき、ありがとうございます。
私の言葉足らずでして、申し訳ございません。

サジェスト?変換機能をみたいなことですか?

検索エンジン等で、ある単語を入力したら、その後の検索ワード候補を予測し、表示してくれる機能をサジェスト検索といいます。
https://www.profuture.co.jp/mk/column/28038

実際のデータの形式も、下記にて記します。

シート名 『(出力用)工事情報様式』

   |[A] |[B]              |[C]|[D]|
[1]|    |←案件名選択セル |   |   |
[2]|    |                 |   |   |
 以下、シート名 『(入力用)?@工事データ入力』 中のテーブルのデータがxlookupで転記される。

シート名 『(入力用)?@工事データ入力』

   |[A]                                         |[B]  |[C]      |[D]      |
[1]|案件名                                      |金額 |工期始期 |工期終期 |
[2]|令和6年度 緊急浚渫推進工事(ア地区)      | 〜  |   〜    |   〜    |
[3]|令和6年度 緊急浚渫推進工事(イ地区)      | 〜  |   〜    |   〜    |
[4]|令和5年度 森林管理道開設事業 ウ線1工区| | 〜  |   〜    |   〜    |
[5]|令和5年度 林道災害復旧工事(ウ線1号箇所)| 〜  |   〜    |   〜    |
[6]|令和5年度 林道災害復旧工事(ウ線2号箇所)| 〜  |   〜    |   〜    |
[7]|令和5年度 林道災害復旧工事(ウ線3号箇所)| 〜  |   〜    |   〜    |

このファイルでは、シート名『(入力用)?@工事データ入力』のデータをシート名『(出力用)工事情報様式』にxlookupで転記できるようにしております。
どのデータを転記するかを、シート名『(入力用)?@工事データ入力』カラム『案件名』を基準としております。

あみな様のご提案の数式ですと、カラム『案件名』から該当する語句を含むデータを配列で返してくれるようになりますが、そこからもう一歩踏み込んで、どれを選ぶかまで実装する必要があります。

その方法として、私は『データの入力規則 > リスト』が楽ではないかと考えております。
しかし、標記の質問のとおり、サジェスト機能が期待する動作をせずにどうしたものかと考えているところです。
(えば) 2024/07/30(火) 14:21:24


 他力本願で恐縮ですが、以下を参考にされてはいかがでしょう。

 [Excel]セルにサジェスト(予測変換)機能をつける
https://qiita.com/atti/items/b09cd32fb1ce5915484b

 当方で検証した結果、ご希望の動作をしているように感じました。

(雨傘) 2024/07/30(火) 20:57:36


これは「2段階の入力規則設定」と呼ばれる話じゃないですか?
https://note.com/office_haru/n/n65c2e35f8fa5
などを参照して研究してみて下さい。

(xyz) 2024/07/30(火) 21:11:00


雨傘様、xyz様
ご返信いただき、ありがとうございます。
まだ実践できておりませんが、後ほど検証してみたいと思います。
取り急ぎの御礼まで。
(えば) 2024/07/31(水) 07:52:17

 この様なことでしょうか。

    |[A]     |[B]                                         |[C]|[D]
 [1]|検索入力|案件名                                      |   |   
 [2]|ウ      |令和5年度 林道災害復旧工事(ウ線2号箇所)|   |   
 [3]|        |令和5年度 林道災害復旧工事(ウ線1号箇所)|   | 

 A2 セルは語句入力専用です。
 データの入力規則リストで元の値に
 =OFFSET(Sheet2!$F$2,0,0,COUNT(Sheet2!$E$2:$E$7))
 と入力する

    |[A]                                         |[B]  |[C]      |[D]      |[E]       |[F]                                         
 [1]|案件名                                      |金額 |工期始期 |工期終期 |場所(行)|リストに設定                                
 [2]|令和6年度 緊急浚渫推進工事(ア地区)      | 〜  |   〜    |   〜    |          |令和5年度 森林管理道開設事業 ウ線1工区  
 [3]|令和6年度 緊急浚渫推進工事(イ地区)      | 〜  |   〜    |   〜    |          |令和5年度 林道災害復旧工事(ウ線1号箇所)
 [4]|令和5年度 森林管理道開設事業 ウ線1工区  | 〜  |   〜    |   〜    |         4|令和5年度 林道災害復旧工事(ウ線2号箇所)
 [5]|令和5年度 林道災害復旧工事(ウ線1号箇所)| 〜  |   〜    |   〜    |         5|令和5年度 林道災害復旧工事(ウ線3号箇所)
 [6]|令和5年度 林道災害復旧工事(ウ線2号箇所)| 〜  |   〜    |   〜    |         6|#NUM!                                       
 [7]|令和5年度 林道災害復旧工事(ウ線3号箇所)| 〜  |   〜    |   〜    |         7|#NUM! 

 E2=IF(ISERROR(FIND(Sheet1!$A$2,A2)),"",ROW())  
 F2=(INDEX(A:A,SMALL(E:E,ROW(A1)),1))    

 この例では「ウ」が含まれている案件名がリストとして表示されます。
 重複には対応していません。
(IT) 2024/08/01(木) 12:05:33

 どこかの作業セルに(どこでもいいけど仮にZ1セル)
 =FILTER(案件名,BYROW(案件名,LAMBDA(r,COUNTIF(r,"*"&$A$1&"*"))))
 といれる。

 A1の入力規則のリストの元の値には、=$Z$1# と入れる (上の式を入れたセル# ←スピル演算子)
 入力規則のエラーメッセージはチェックを外しておく

 A1に ウ といれてからリストを表示させると絞り込んだリストになっている

 というのはでだめですか
(´・ω・`) 2024/08/01(木) 16:44:13

数々のご助言をいただいておりながら、返信できておらず、申し訳ございません。

結論から申し上げますと、(´・ω・`)様のご提案で、2段階で目的の動作を確認できました。
ありがとうございました!

贅沢を申し上げると、一つのセルの入力で、サジェスト機能を実現したかったというのが本音です。
この点は、雨傘様のご助言で対応できそうかと思いました。
私自身のvbaスキルが乏しく、実現に至っていない状況にございます。
引き続き、一つのセル上の動作で実現できないか、検討して参ります。

重ねて、ありがとうございました。
(えば) 2024/08/02(金) 10:17:02


 念のため、ファイルを複製したもので試して下さい。

 ■導入手順
 1)(出力用)工事情報様式 シートのシートタブの上で右クリック>コードの表示
   Microsoft Visual Basic for Applications が開く。

 2)紹介したページにある、
   --
   コード
   標準モジュール SuggestModule.bas
   検索セルのあるシート SearchCellSheet.vba ←こちらのリンクを開き、
   --
   1〜22行あるコードを、1)で開いたウインドウの右ペインにコピー&ペースト。

 3)ペーストしたコードの1・2行目を書き換える。
   Const DicSheetName = "辞書" '←""の中を案件名のあるシート名に変更する
   Const DicRangeAddress = "A:A" '←質問の提示例だとA:Aなので変更不要だが、実際は違うならその列に。

 4)1)で開いたMicrosoft Visual Basic for Applicationsのメニューバーの
   挿入>標準モジュール とすると標準モジュールが追加される
  (前項でペーストしたコードは一旦見えなくなるが問題ない)

 5)紹介したページにある、
   --
   コード
   標準モジュール SuggestModule.bas ←こちらのリンクを開き、
   検索セルのあるシート SearchCellSheet.vba
   --
   表示されたコードの2〜98行目を、4)で開いたウインドウの右ペインにコピー&ペースト。
   1行目もコピペした場合はその行は削除して下さい。

 6)(出力用)工事情報様式のA1セルに『浚渫』と入力して動作確認。
   良ければ、マクロ有効ブックとして保存。
(雨傘) 2024/08/02(金) 18:04:19

 確認不足で申し訳ありませんが、
 実質(´・ω・`)さんの案と同じ動作だと思います。

 >一つのセル上の動作
 というのが、具体的にどのような動作を表すのか示されると
 別の回答を得られることもあるかもしれません。
 私には無理ですので、これにて退散です。
(雨傘) 2024/08/02(金) 18:47:36

こなんことをやりたいのかな。
https://www.bing.com/videos/riverview/relatedvideo?q=excel%20%E3%82%B5%E3%82%B8%E3%82%A7%E3%82%B9%E3%83%88%E6%A9%9F%E8%83%BD%20%E3%83%AA%E3%82%B9%E3%83%88%E3%81%8B%E3%82%89%E8%87%AA%E5%8B%95%E9%81%B8%E6%8A%9E&mid=9452319CB318CF416F409452319CB318CF416F40&ajaxhist=0
(IT) 2024/08/04(日) 19:13:30

IT 様
まさに、ご提供いただきました動画が私が実現したかったことです!
動画の内容をもとに、無事に実装できました。
ありがとうございました!

雨傘 様
度々ご助言をいただき、ありがとうございました。
私の言葉が足らず、申し訳ございませんでした。
(えば) 2024/08/07(水) 15:59:00


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.