こんにちは。
バーコードを使って自社倉庫内の在庫管理をaccesかexcelで行いたいと考えております。
ACCES,excelのマクロやVBA、をほんの少々かじったレベルです。
バーコードで自社倉庫内の商品を管理したいと考えております。
必要な機能としまして、商品の入庫、出庫、リアルタイム在庫の表示、月末棚卸し、csv出力等一般的な倉庫の在庫管理を作成できればと考えております。(入出庫履歴等の表示はほしいですが、販売管理は必要なく在庫の管理のみ必要です)
そして、それをラベル発行機とハンディーを使ってバーコードで管理できればと思っております。
正直全く何もないところから作成できる自信がありません。
そこで何か、参考になる書籍か安くて(1万円まで位)自分で改良できVBAのソースコード何かもコピペできるような都合のよいソフト等はありませんでしょうか?
それとも、その他方法はありませんか?
素人が手を出すなと言われそうですが、がんばってみたいなと思っております。
どうぞ、質問内容もわかりにくいところが多々あるとは思いますがどうぞご指導お願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

だいぶ前ですが、ショップの生産指示や完成実績管理のため、バーコードを使ったシステムを自製したことがあります。


バーコードは社内利用なのでCODE39を使いましたが、バーコードの入出力自体は結構簡単にできました。(初めてだったんですが、2日間位で)
扱うデータが膨大だったので、DBはサーバーのORACLEを使い、管理部分や表示、帳票出力などの個別ソフトはVB、C、JAVA(Webベースでもできるようにしたため)などを使い、こちらのほうは多少時間を要しました。
在庫管理ソフト機能とDB構造をどうするかのほうが、いろいろな面で大変と思われます。

在庫管理の規模によると思いますが、質問の内容からは
リアルタイムに対応できるデータベースと専用の開発ソフトが必要なのか、扱うデータ量、運用する環境、期待するレスポンスなどが不明なので、Access/ExcelとMDBを使う程度で済むレベルなのか、VBAのみで構築は若干難しい気もしますが、Windows API等と組み合わせると何とかなりそうなレベルなのか、ちょっと判断ができません。
まずは、必要な機能と仕組みをきちんと整理してから、着手されたほうが良いと思われますが、簡単な仕組み(プロトタイプ)を作って実用性の確認をしてみる方法もあります。

実務に役立つ在庫管理・・・左側の目次から選択できます。
http://www.sk-zaiko.com/unyou/un04_barcode.html

ソフトに関しては自前で作成ばかりだったので、どういったものが出回っているかあまり知りません。
「在庫管理」、「在庫管理 ソフト」などをキーに検索してみてください。
 
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ネットワークでつないで複数台でとも考えていませんし、ネットもつなぎません、データーの量も少量です。
テーブルは、出荷先、商品マスタ、入庫、出庫、リアルタイム在庫、月末在庫等一般的な倉庫在庫内容のみでバーコードを使い作成できればと考えております。
おっしゃるとおりまず仕組みを構築してみようと思います。
ありがとうございました。

お礼日時:2009/05/24 11:38

バーコードリーダーを先に購入してみてください。


バーコードリーダーといっても、マウスやテンキーボードと同じです。
印刷されたバーコードを読み取って、Enterを押してくれる機械のことです。
アクセスでもエクセルでも良いですが、手入力で商品コードを入れながら在庫管理が出来ていれば
その手入力がバーコードリーダーで自動化できるということです。
エクセルでもバーコードの印刷は出来ますが、商品であれば既にバーコードが印刷されていればそれを利用できますし
バーコードリーダーにサンプルのソフトを添付している(或いはダウンロード出来る)
メーカーは多いので大丈夫ですよ。
    • good
    • 2
この回答へのお礼

ご回答ありがとうございます。
現在ろくな在庫管理ができていないので、まずはそこからです。
ただ、おっしゃるようにバーコードリーダーを先に購入するのも1つかもしれません。
ありがとうございました。

お礼日時:2009/05/24 11:40

倉庫の規模にもよるとは思いますが、そこまでやりたいのならちゃんとした業者にまかせた方がいいのではないでしょうか…


ちょっとしたコードのミスで、在庫があるのに帳簿上は在庫0なので発注しちゃった。とかではシャレにならないと思います。

バーコードリーダーのメーカーがソフト開発とワンセットの商品を出していたりもしています。
http://www.keyence.co.jp/adlp/req/1d6000_130/001 …
↑「バーコード 在庫管理」で検索してみたらソレっぽいのがヒットしました。

まあ、外注する経費と自前で開発してその開発時間とミスったときのリスクとか。色々な要素はあるとは思いますが。参考までに。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
Ture_ansさんのおっしゃる通りなのですが、手順の掲載された書籍等があれば何とかならないかなと思いまして。
難しいかもしれませんが、挑戦してみたいと思っております。
どうぞよろしくお願いいたします。

お礼日時:2009/05/23 17:58

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルマクロでバーコードを読みたい

こんにちわ!

エクセルマクロを使って在庫管理をできるものを作ろうと思っています。

そこで、USBバーコードリーダーなるものを発見したのですが、こういったバーコードリーダーをエクセルマクロを用いて読み取ることは可能でしょうか?

可能なようでしたら、その方法をご教授願います。

また、お勧めのバーコードリーダーがございましたら教えてください。(2次元バーコード(QRコード)リーダーは高いので、今のところ通常のバーコードで考えています)

Aベストアンサー

バーコードリーダーがあるのであれば、一度実際に試してみてください。
バーコードリーダーは、キーボードやテンキー、マウスと一緒で、一つの入力装置です。
読み取りの作業についてはあまりマクロは意識しなくてもよいと思います。
仮に、新しいブックで A1セルを選択した後に、バーコードリーダーで何らかの値を
読み込むと、その数値が A1セルに入ります。
キーボードやテンキーで数値を入れるのと同じ作業をしてくれるだけですね。

また、印刷されたバーコードにはいくつかの種類があります。
読み取ろうとするバーコードの種類に対応しているバーコードリーダーであれば
それで十分ということです。
バーコードの種類については
http://www.sensor.co.jp/barcode/jiten/barcode02.html
を参考にしてください。
実際に読み込んでみて、正しければOKです。
読み込んだ後に、そのデータをどう処理するのかというところでマクロが必要になる
といった具合です。

Qバーコードで売上&在庫管理したいのですが。。

バーコードでの在庫管理に関する色々な過去質問を参考にさせて頂きましたが、私がバーコードに関して素人すぎて理解出来ませんでしたので、質問させて頂きました。過去レスと重複する部分ありましたら、ご容赦ください。
現在、小さな洋服店を経営しています。現在はパソコンにてEXCEL(2010)で在庫表を作り、入荷&売上管理をすべて記帳で管理していますが、この度、在庫&売上管理を正確且つ迅速に行いたく、バーコードを使っての管理を検討しています。いわゆるPOSシステムの導入は金銭的にも不可ですので、現在のパソコン(WINDOWS7)とバーコードスキャナー付きの安価なレジスターを購入し、構築したいと考えています。当方で仕入する商品にはバーコードタグが付けられているものは一部で、その他8割程度の仕入商品はバーコードタグのない商品となりますので、バーコードタグのない商品には新規にバーコードタグを登録&作成し、タッグシールのような物で既存の下げ札に貼り付けて行くイメージです。
レジスターは少し調べたところ、こちらが候補です。http://www.sharp.co.jp/products/xea280/index.html
在庫管理&バーコード作成に関して良いソフト&方法ありましたら、ご教授ください。
もしくは在庫管理は既存のEXCELを用いて(1商品での登録項目11種類)、EXCELからバーコードを生成し、タッグシールなどが作れる形でも良いかと考えます。
どうか教授よろしくお願いします。

バーコードでの在庫管理に関する色々な過去質問を参考にさせて頂きましたが、私がバーコードに関して素人すぎて理解出来ませんでしたので、質問させて頂きました。過去レスと重複する部分ありましたら、ご容赦ください。
現在、小さな洋服店を経営しています。現在はパソコンにてEXCEL(2010)で在庫表を作り、入荷&売上管理をすべて記帳で管理していますが、この度、在庫&売上管理を正確且つ迅速に行いたく、バーコードを使っての管理を検討しています。いわゆるPOSシステムの導入は金銭的にも不可ですので、現...続きを読む

Aベストアンサー

補足の件

まずバーコードにすれば手間は減るとお考えのように感じますが
他の手間(商品入力など)は確実に増えます。
その手間が無料で使えるメーカーが用意しているソフトではかなり不便です。

よってその手間を抑えた上でシャープ製のレジで考えますと
以下の物が必要だと思います。(使用するソフトによって大きく変わるけどね)

・レジXE-A280
・パソコン
・レーザープリンター
・ラベル印刷用専用プリンター(これは無くても何とかなると思う)
・パソコン用バーコードリーダ(無くてもいいがあったら便利)
・XE-A280に対応する販売管理ソフト
 レジと一緒くらいの価格のソフトでやっと
 レジと一緒のレベルの集計などができる
 ただ、パソコンでみるからわかりやすいだけなんだけどね、、、
 (重要だけどね)
 商品登録はCSV対応するもの選べば便利
・仕入れや在庫がしたければ別途販売管理ソフトは必要
 (在庫と連動する仕入れなど全て管理するソフト使えば便利だけど難しい)
 でもそのソフトへデータ以降はいちいち再入力かもしくは知識があれば
 CSVファイルにしてデータ移行(たぶん素人では無理)

貴社の場合はバーコード対応のレジとか関係なく販売管理ソフト導入が
必要では?と思いますけどどうでしょう?

システムってよく勘違いされるけど商品データの入力など
準備の為のデータ入力の手間は確実に増えるよ
そのデータがあるから集計や管理という手間や間違いが減るんです。
準備がしっかりしてあるから全体的な手間が減ると考えましょう。
何もしなくてやってくれるわけではありません。
(レジやパソコン買えば出来るっていう甘い考え方は捨てよう)
まぁーこういうのは簡単に説明するのは難しい内容なのでお近くの
システム設計関係が強いOA機器店など(滅多にないけど、、、)に
費用払って相談するか失敗(苦労)覚悟でいろいろ試すしかないと思うよ
(商工会に相談するのも手だと思う。紹介してくれるかもね)

補足の件

まずバーコードにすれば手間は減るとお考えのように感じますが
他の手間(商品入力など)は確実に増えます。
その手間が無料で使えるメーカーが用意しているソフトではかなり不便です。

よってその手間を抑えた上でシャープ製のレジで考えますと
以下の物が必要だと思います。(使用するソフトによって大きく変わるけどね)

・レジXE-A280
・パソコン
・レーザープリンター
・ラベル印刷用専用プリンター(これは無くても何とかなると思う)
・パソコン用バーコードリーダ(無くてもいいがあったら便利)
・XE...続きを読む

Qエクセルを使用しての実地棚卸

バーコードリーダーとエクセルを使用して、棚卸しを行いたいのですが、教えてください。
物件は2,000件あります。1品ごとに番号をつけて、ラベルにしてバーコード+番号を記載して貼り付けています。

現在は、紙の台帳で1件ずつ確認してレ点チェックをしてるのですが、探すのに時間がかかり台帳も何回もめくってボロボロになってしまいます。
そこで、バーコードリーダーとノートPCを使って確認したいのですが、
エクセルをどのようにすればできるのかわかりません。

棚卸のやり方は下記にしたいです。
対象の物件を発見⇒ラベルを確認⇒バーコドリーダーにて読み取り⇒リストの対象物件に確認済みフラグもしくは色塗りつぶし、数字フラグにて確認済にする
⇒続けて次の物件を発見したら、ラベル確認⇒バーコード読み取り・・・繰り返し

パソコンのOSは、Win7Pro
エクセルは、2007です。
バーコードは、CODE128

よろしくお願いします。

Aベストアンサー

No2です。
別途、現物確認 という名前でシートを準備
ノートパソコンとバーコードリーダーを準備
現物に張ってあるバーコードを片っ端から読み込む
仮に、A列にバーコードの番号が並ぶ
 A
読み込みバーコード

添付のシートのチェックのセルに
=IF(COUNTIF(現物確認!A:A,C12)=1,"レ","")
とでも入れて下へコピー
式の意味は、現物確認のシートのA列に
このシートのC12と同じ番号が一個あれば
チェックマーク
無ければ(或いは2個以上入っていたら)空白
と云う意味です。

同様の関数を、現物確認のシートのB列にも入れておけば
現物があるのに、台帳に記載されていな現物の発見も出来ると思います。

QACCESSで在庫管理を作成するように言われたのですが・・・

入庫・出庫のデータはエクセルから日々、入出庫がある度にインポートするつもりです。
日々の在庫を表示させるにはどうすればいいでしょうか?
大まかな説明で分かりにくいとは思いますが、ACCESSで在庫管理を作成したことがある方、アドバイスいただけないでしょうか?

Aベストアンサー

s_husky です。

追加回答が付きませんね。
そこで第2弾!

Access2000、Access2002等には、テンプレートで在庫管理があります。
質問者のやろうとしていることは、自動的に作成される「在庫管理データベース」でも十分かも知れませんよ!

QACCESS2013でバーコードリーダーを使用し、簡略化したい

ACCESS2013を使用し、在庫管理システムの制作を試みています。
 現在、商品一覧というテーブルに「商品ID」「バーコード」「商品名」を書き込んでいます。
 このデータを参照し、発注というテーブルにバーコードリーダーを使用して、バーコードを読み取ると、商品名が自動で書き込まれる事は可能ですか?
 できないのであれば、似たような何かを教えていただければ助かります。
 よろしくお願いします。

Aベストアンサー

在庫管理システムと言う事で有れば、最低は下記のテーブルは必要にな
ります。ここでは、商品コードにバーコードを使います。この部分は、
バーコードリーダーが無い場合は手入力となります。

商品マスター
商品コード
商品名
仕入れ値
リードタイム

発注マスター
発注日
商品コード
発注先

ここで、商品マスターを一側のテーブルにする。多側のテーブルを発注
マスターにする。商品マスターの主キーは商品コードのみとする。

発注マスターの主キーは発注日と商品コードとする。

商品マスターと発注マスターの間でリレーションシップをセットする。
この場合は、商品マスターの商品コードと発注マスターの商品コードの
間で参照整合性をセットする。

上記の設定で、フォームウイザードをフォームを作る。この場合は仮に
データシートで作ると。この場合のデータシートの項目を仮に下記の様
にする。

発注日
商品コード
商品名
仕入れ値
リードタイム
発注先

上記の状態で、発注日を入力して商品コードの所でバーコードを読ませ
ると自動的に商品名と仕入れ値とリードタイムが表示されます。

但し、このままでは操作性が悪いので下記を設定します。

商品名と仕入れ先とリードタイムは使用可能は「いいえ」にして編集
ロックは「はい」にします。

また、商品コードについては、定型入力のプロパティをセットして自動
タブをセットします。

簡単に出来ます。但し、これ以上は実際の具体例が無いので。説明はこ
こ迄です。より詳細な回答が期待をしている場合は具体例を提示願いま
す。

在庫管理システムと言う事で有れば、最低は下記のテーブルは必要にな
ります。ここでは、商品コードにバーコードを使います。この部分は、
バーコードリーダーが無い場合は手入力となります。

商品マスター
商品コード
商品名
仕入れ値
リードタイム

発注マスター
発注日
商品コード
発注先

ここで、商品マスターを一側のテーブルにする。多側のテーブルを発注
マスターにする。商品マスターの主キーは商品コードのみとする。

発注マスターの主キーは発注日と商品コードとする。

商品マスターと発注マスター...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QExel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。

自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが…

Sub 別ブックから貼り付ける()
  Dim 検索する As Long
Windows("部品表.xls").Activate
検索する = cells(i,2).Value
Windows("コード一覧表.xls").Activate
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd

と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。

基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数...続きを読む

Aベストアンサー

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★
 I = 2
 Do While Range("A" & I).Value <> ""
  ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0)
  I = I + 1
 Loop
 xlBook.Close
 Application.ScreenUpdating = True
 MsgBox ("完了")
End Sub

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks....続きを読む

QExcelの Microsoft バーコードコントロール 14.0

ExcelのVBAを使って、バーコード、下記のようなデータを入れたら、
画面上にバーコードを表示、と同時に印刷をして、バーコードリーダーで
読み取ることを可能にしたいと考えております。

データ: 「123456789012」 12桁の数値

セルに12桁の数値を入れて、適当なボタンを押すと、数値の入ったセルの下方に
バーコード表示させる、といったイメージです。

PCには、Microsoft バーコードコントロール 14.0が入っておりました。
これを選択すると、マウスが+になり、シート上でクリックすると
確かにバーコードが現れるのですが、不明なデータです。
どこをどのように変えれば、データが変わるのかも、よくわかりません。

結局、「Microsoft バーコードコントロール 14.0」の使い方がわかっていないのです。
宜しく、ご教示願います。

Aベストアンサー

Sub macro1()
Dim o As OLEObject
  With Cells(2, 1)
    Set o = ActiveSheet.OLEObjects.Add(ClassType:="BARCODE.BarCodeCtrl.1", _
          Link:=False, DisplayAsIcon:=False, _
          Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
    o.LinkedCell = .Offset(-1).Address
  End With
End Sub

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報