No.1
- 回答日時:
マクロを使わなくても、関数だけで可能みたいですね。
・Sheet2のA列に商品コード、B列に商品名、C列に在庫が入力されているものとします。
・Sheet1のA列に商品コードを入れると、B列、C列に該当する商品の名称、在庫を表示するものとします。
1:Sheet1のB2のセルに
=VLOOKUP($A$2,Sheet2!$A:$C,2)
と入力
2:Sheet1のC2のセルに
=VLOOKUP($A$2,Sheet2!$A:$C,3)
と入力
3:B2,C2のセルを下のほうまでコピー
以上の操作でOKな筈です。
不明点とかありましたら、補足してください。
この回答への補足
これで、商品名の部分検索とかはできるのでしょうか?
商品名のはじめの5文字で検索とか含まれるものとか
ということです。
というのも商品コードがあるとなんとかなるのですが、
注文と在庫の一覧には商品コードがないんです。
(ちなみに当方、古書店です。書籍コードがない場合、
お客様が知らない場合があります。)
おそらく答えるのに、えらい長い行数がいると
思いますので、できる可能性があるかどうか教えて
いただければ、いいです。
できそうなら、自分でがんばってみたいです。
お手数かけまして申し訳ないです。
No.2
- 回答日時:
VBAがお解りになるなら、そんなに難しくはありません。
定期的に行う必要があるようでしたら、VBAでプログラム化したほうがべんりですよね。私は、同じようなことをVBAでやっています。
在庫表と注文表は別のブックにして、同時に両ブックを開き、照合もしています。
VBAなら、コマンドボタンにプログラムを貼り付けてやれば簡単です。
No.3
- 回答日時:
可能か不可能かってことでしたら、可能です。
部分一致を判定するためには、 Like 演算子を使います。
今回のご質問にはちょっと興味を惹かれましたので、暇つぶしに作ってみました。
参考にするなり、適当に改造するなりしてみてください。
解説が必要でしたら、補足をお願いします。
使い方
SearchDate(検索値, 検索範囲, 列番号, 検索方法, 出力セル範囲)
検索値: 略
検索範囲: 略
列番号: どの列を返すか。 1を指定すると、検索されたセルの内容を返す 2なら検索されたセルの右隣のセル内容、3なら更にその右隣のセル…
検索方法: 以下の値を数値で指定(完全一致=0, 先頭一致=1, 後方一致=2, 部分一致=3)
出力セル範囲: 検索した結果を書き出すセルの範囲 例: F1:F10
使用例:(A列に商品名,B列に価格が入力されている場合)
・適当なセルに
=SearchData("あ",A:B,2,3)
と記述(最初に検索された"あ"を含む商品の価格を表示する。)
・モジュールに
call SearchData("あ",Range("A:B"),1,部分一致 ,Range("F1:F100"))
call SearchData("あ",Range("A:B"),2,部分一致 ,Range("G1:G100"))
と記述(F1:F100の範囲に、"あ"を含む商品の一覧を出力,G1:G100に、その商品の価格を出力)
No.4ベストアンサー
- 回答日時:
Public Enum SearchPatternEnum
完全一致 = 0
先頭一致 = 1
後方一致 = 2
部分一致 = 3
End Enum
Public Function SearchData(検索値 As Variant, 検索範囲 As Range, Optional 列番号 As Long = 1, Optional 検索方法 As SearchPatternEnum, Optional 出力セル範囲 As Range = Nothing) As Variant
Dim RNG As Range
Dim SearchRng As Range
Dim SrchStr As String
Dim MaxRow As Long
Dim OutputRNG As Range
Dim MaxOutputPos As Long
Dim OutputPos As Long
If TypeOf 検索値 Is Range Then
SrchStr = 検索値.Value
Else
SrchStr = CStr(検索値)
End If
Select Case 検索方法
Case SearchPatternEnum.完全一致
'処理を行わない
Case SearchPatternEnum.先頭一致
SrchStr = SrchStr & "*"
Case SearchPatternEnum.後方一致
SrchStr = "*" & SrchStr
Case SearchPatternEnum.部分一致
SrchStr = "*" & SrchStr & "*"
End Select
If 出力セル範囲 Is Nothing Then
SearchData = CVErr(1)
Else
出力セル範囲.Clear
MaxOutputPos = 出力セル範囲.Cells.Count
OutputPos = 1
End If
For Each RNG In 検索範囲.Cells
If RNG.Value Like SrchStr Then
If MaxOutputPos = 0 Then
SearchData = Cells(RNG.Row, RNG.Column + (列番号 - 1))
Exit For
Else
出力セル範囲.Cells(OutputPos) = Cells(RNG.Row, RNG.Column + (列番号 - 1))
OutputPos = OutputPos + 1
If OutputPos > MaxOutputPos Then
Exit For
End If
End If
End If
If RNG.Row > RNG.Worksheet.UsedRange.Rows.Count Then
Exit For
End If
Next RNG
End Function
非常に丁寧な解答ありがとうございました。
これを見た瞬間、正直いって驚かされました。
ARCさんの回答を利用させていただきます。
あっという間に解決できそうです。
ほんとうにありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Excel(エクセル) VBAで、シート間の転記するコードを教えてください。 4 2023/03/26 10:43
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
- Excel(エクセル) Excelの複数ファイルの複数行を別ファイル1つのシートにVBA、マクロで集約する方法 5 2022/09/13 06:30
- Visual Basic(VBA) VBAでのループ順序について 3 2023/03/13 10:55
- Amazon アマゾン 7 2022/06/11 11:03
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
はがきについて。
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
【関数】先頭だけにある、半角...
-
Excel ピボットテーブルで日付...
-
Excelのpivotについて質問です
-
時間によってファイル名が変わ...
-
エクセル 白黒印刷で白線を印刷...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
WPS OFFICEでの縦書きについて
-
Excelのチェックボックスの使い...
-
エクセルの条件付き書式につい...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報