advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 8928 for リスト (0.006 sec.)
[[20200404105826]]
#score: 2746
@digest: 171084af43a144fe6bf6cc94548aed98
@id: 82926
@mdate: 2020-04-04T15:18:29Z
@size: 4917
@type: text/plain
#keywords: トid (72920), 肢1 (37577), 題id (22862), 命関 (21971), 連製 (21804), 肢4 (18595), 生命 (16799), 択肢 (14904), 列問 (13442), 文選 (13013), id1 (10249), 題文 (6648), トd (5924), 分一 (5615), テキ (5447), キス (5035), トc (4019), スト (3594), 合致 (3440), 紐付 (2886), リス (2823), トa (2260), 列g (2202), 一致 (2177), 列e (2097), tbl (2081), ト1 (2047), ・シ (1896), トb (1828), key (1813), (k (1800), 列f (1794)
『シート同士のテキスト部分一致をもとに紐付けしたい』(K)
以下のシート1と2の紐付けを行いたいのですが、なかなかうまくいかないため、ご相談させてください。 シート1 A列 B列 C列 D列 E列 F列 G列 問題ID 問題文 選択肢1 選択肢2 選択肢3 選択肢4 選択肢5 シート2 A列 B列 C列 D列 E列... リストID1 テキストA テキストB テキストC テキストD... リストID2 テキストA テキストB テキストC テキストD... リストID3 テキストA テキストB テキストC テキストD... ▼ 目的 ・シート1のB〜G列にはそれぞれテキストが存在しています(A列には問題IDのテキストがあります)。それらのテキストと、シート2のB列以降のテキストが部分的に一致した場合に、シート2のリストID(A列)をシート1のいずれかの列に表示させたいと考えています。 例)シート1の選択肢1にシート2のリストID1との部分一致、選択肢4にリストID3との部分一致がある場合 シート1 A列 B列 C列 D列 E列 F列 G列 問題ID 問題文 選択肢1 選択肢2 選択肢3 選択肢4 選択肢5 (空白) (空白) リストID1 (空白) (空白) リストID3 (空白) となるイメージです。 問題によっては選択肢間でリストIDが重複する可能性がありますが、最終的に別途関数で削除しようと思います。 ▼ 注意点 ・シート1とシート2は完全一致することはありません。部分一致を拾いたいです。 ・シート1の列数は変わりませんが、シート2の列数はリストの種類により変化します。 ・リスト自体の作り方を変えた方がよろしければご指摘ください。シート1の各セルを「&」でつなげて...など色々試してみたのですが、うまくいかず... 初歩的な質問でしたら申し訳ありません。ご検討いただければ幸いです。 < 使用 アプリ:Excel for Mac/Google spreadsheet、使用 OS:MacOSX > ---- >シート1の選択肢1にシート2のリストID1との部分一致 部分一致の意味を確認させてください。 選択肢1は、リストID1の例えばテキストAと完全一致するけど、 他の選択肢は、リストID1の、どのテキストとも一致しないという意味でしょうか。 (マナ) 2020/04/04(土) 12:17 ---- マナ様 ありがとうございます。分かりにくくて申し訳ありません。 選択肢1とリストID1のテキストAは、たとえば以下のような関係となります。 シート1 選択肢1 医薬品は、生命関連製品として有用性が認められたものであり、保健衛生上のリスクを伴う。 シート2 リストID1 生命関連製品 臨床試験 アレルギー 高齢者 かぜ... 上記の場合、シート1、選択肢1のテキスト内容がシート2の生命関連製品と一致するため、リストID1を返す形にしたいと考えています。 複数のテキストに合致する場合でも、最初に合致した単語に対応するリストIDが返ってくればOKです。 他の選択肢がリストID1と合致する可能性もありますが、その場合最終的に重複を別途削除しようと考えております。 (K) 2020/04/04(土) 13:08 ---- 選択肢1が、複数のリストIDと合致することはないのですか。 (マナ) 2020/04/04(土) 13:18 ---- はい。その可能性がなくなるようにリストに登録する単語を調整する予定です。 (K) 2020/04/04(土) 13:25 ---- マクロです Option Explicit Sub test() Dim tbl As Range Dim key As Range Dim w() As String Dim c As Range Dim f As Range Dim fAdr As String Set tbl = Sheets("Sheet1").Range("a1").CurrentRegion Set tbl = Intersect(tbl, tbl.Offset(1)) tbl.Columns("A:B").ClearContents ReDim w(1 To tbl.Rows.Count, 1 To tbl.Columns.Count) Set key = Sheets("Sheet2").Range("a1").CurrentRegion Set key = Intersect(key, key.Offset(1, 1)) For Each c In key.SpecialCells(xlCellTypeConstants) Set f = tbl.Find(c.Value, , xlValues, xlPart) If Not f Is Nothing Then fAdr = f.Address Do w(f.Row - 1, f.Column) = c.EntireRow.Range("a1").Value Set f = tbl.FindNext(f) Loop Until f.Address = fAdr End If Next tbl.Value = w End Sub (マナ) 2020/04/04(土) 14:04 ---- 失礼しました。ちゃんと説明がありましたね。 少しだけ変更しました。 >複数のテキストに合致する場合でも、最初に合致した単語に対応するリストIDが返ってくればOKです。 Option Explicit Sub test2() Dim tbl As Range Dim key As Range Dim w() As String Dim c As Range Dim f As Range Set tbl = Sheets("Sheet1").Range("a1").CurrentRegion Set tbl = Intersect(tbl, tbl.Offset(1)) tbl.Columns("A:B").ClearContents ReDim w(1 To tbl.Rows.Count, 1 To tbl.Columns.Count) Set key = Sheets("Sheet2").Range("a1").CurrentRegion Set key = Intersect(key, key.Offset(1, 1)) For Each c In key.SpecialCells(xlCellTypeConstants) Set f = tbl.Find(c.Value, , xlValues, xlPart) If Not f Is Nothing Then Do f.ClearContents w(f.Row - 1, f.Column) = c.EntireRow.Range("a1").Value Set f = tbl.FindNext(f) If f Is Nothing Then Exit Do Loop End If Next tbl.Value = w End Sub (マナ) 2020/04/04(土) 15:16 ---- マナ様 お礼が遅くなってしまい申し訳ありません。本当にありがとうございます!人生初のマクロに感動しているのですが、不勉強でまだ悪戦苦闘しています。もう少し試してみます。 (K) 2020/04/05(日) 00:18 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/202004/20200404105826.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97012 documents and 608132 words.

訪問者:カウンタValid HTML 4.01 Transitional