http://briefcase.yahoo.co.jp/bc/kazuminagata1123 …
このファイルをさらに改善させたいのですが、自分の実力ではうまくいかず、お助け舟をだしました。
本当はコード図もJ列に入力しなければ、表示しないという風にしたかたのですが、それはあきらめます。
別シートのコード表のほうなのですが、index関数とmatch関数を組み合わせて、ばっちりーーーと思っていたところ、大文字小文字を区別されないのが分かって、たとえば「Fm」と「FM」の区別ができないんです。
exact関数を使ってできるのかなーとはなんとなく思ってるのですが、どう組み込んでいいのか分からず、おそらく名前の定義のところのコード図01~の参照先に組み込むのではないかとはおもってるのですが、だれか詳しい方お願いします><
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
質問にあるURLは見ていませんが、大文字、小文字を識別して検索文字の行番号を取得したいなら
=MIN(INDEX(SUBSTITUTE(EXACT(A1:A12,C5)*1,0,10^4)*ROW(A1:A12),))
で「Fm」が出現する行番号を取得できます。(A1:A100の範囲は変更してください)
検索値が見つからないときは#NUM!エラーになります
また蛇足ですがユーザ定義関数にする方法もあります。以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。
シートに戻って
=eMatch("Fm",A1:A100)
のように入力してください。完全一致しか考慮していません。
見つかった文字列の行番号を返しますが、もし通常のMatch関数と同じように「指定した範囲の○行目」を返す方がよいなら、コメントにしている行を上の行と入れ替えてください
Function eMatch(ByVal trg As Variant, rng As Range) As Variant
Dim res
Set res = rng.Find(what:=trg, LookIn:=xlValues, lookat:=xlWhole, MatchCase:=True)
If res Is Nothing Then
eMatch = CVErr(xlErrNA)
Else
eMatch = res.Row
' eMatch = res.Row - rng.Cells(1, 1).Row + 1
End If
End Function
この回答への補足
投稿ありがとうございます。
シート「コード表」、「ギター楽譜」
コード表のA列には実際のコードの文字列 たとえば「A」、「B」
コード表のB列にはギターのコード図を図としてセルに埋めています。
ギター楽譜のH列の各場所に図のリンク貼り付けで参照先を
=INDEX(コード表!$B:$B,MATCH(ギター楽譜!$J$3,コード表!$A:$A,0))
としています。
たとえば、ギター楽譜のJ3に「A」と入力するとH4の図がAのコード図になるというものを作ったのです。
ここで難点がありまして、大文字小文字が区別されないということで投稿させてもらったしだいです。
図の参照先を編集すればどうにかなるのではないかとは思ってるのですが、実際どう編集すればよいか分からず、困っていました。
これをふまえて教えていただけないでしょうか><
お願いします。
No.2
- 回答日時:
#01です。
ちょっと試してみれば分かると思うのですが、>MATCH(ギター楽譜!$J$3,コード表!$A:$A,0)
の部分が以下に置き換わります。
MIN(INDEX(SUBSTITUTE(EXACT(コード表!A1:A1000,ギター楽譜!$J$3)*1,0,10^4)*ROW(コード表!A1:A1000),))
従って
=INDEX(コード表!$B:$B,MIN(INDEX(SUBSTITUTE(EXACT(コード表!A1:A1000,ギター楽譜!$J$3)*1,0,10^4)*ROW(コード表!A1:A1000),)))
で求まりませんか?
EXACT関数では"A:A"のような列単位の範囲指定はできないので"A1:A1000"を範囲にしています。必要に応じて変更してください
この回答への補足
何度もすみません。
早速、参照先をかえてみたのですがうまくいきませんでした><
図のリンク貼り付けをしてその図に名前をつけ、その名前の定義で参照先を
=INDEX(コード表!$B:$B,MIN(INDEX(SUBSTITUTE(EXACT(コード表!A1:A1000,ギター楽譜!$J$3)*1,0,10^4)*ROW(コード表!A1:A1000),)))
にするということですよね?
どこかさらにいじらなければならないところがあるのでしょうか?
もしお時間がありましたら、実際ファイルを見ていただいて、おかしいところの注意点など教えていただきたいのですが><
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- オープンソース ChatGPTをスプレッドシートと連携して自動でリサーチしたいんですがうまく出来ません。。。 1 2023/05/05 15:59
- Excel(エクセル) エクセル関数について 8 2023/06/28 17:04
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Java Java 南京錠 2 2023/02/04 11:46
- Visual Basic(VBA) セルの値からファイルを複数作りたい2 3 2022/10/07 15:54
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
MicrosoftOfficeの1ユーザー2...
-
MicrosoftOffice2019なんですが、
-
Excel 日付を比較したら、同じ...
-
Microsoft365の「お支払いを更...
-
ウィンドウィズ メモ帳で日付だ...
-
Excelで空白以外の値がある列の...
-
エクセルのシフト表を簡単にGoo...
-
理由を教えてください。
-
VBA
-
web上にあるエクセルをショート...
-
バソコンが二台とも壊れ後換装...
-
【マクロ】文字を1文字づつ、...
-
Excelのセルの重複チェックが出...
-
マイクロソフト 一時使用コード...
-
office365って抵抗感ないですか?
-
Outlook 電源OFFの受診の仕方
-
エクセルで例えば、A1に㈱ベ...
-
自分の専門分野の仕事。初見で...
-
excelの画面のグリッド線の消滅。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
【スプレッドシート】指定の日...
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
マイクロソフト 一時使用コード...
-
Office 2021 Professional Plus...
-
エクセルで例えば、関数を使っ...
-
Microsoft Formsの「個人情報や...
-
1つのPCに「Excel 2010」「Exc...
-
エクセルで例えば、A1に㈱ベ...
-
理由を教えてください。
-
エクセルでXLOOKUP関数...
-
マイクロソフト オフィスについて
-
VLOOKUP関数について
-
teams設定教えて下さい。 ①ビデ...
-
Googleのスプレッドシートでシ...
-
【Excel VBA】PDFを作成して,...
-
Microsoft365で写真をアルバム...
-
Outlook で宛先が複数の場合の人数
-
Excel テーブル内の空白行の削除
おすすめ情報