

No.5ベストアンサー
- 回答日時:
●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で動作確認済。
以上ご参考まで。
ありがとうございました!できました!
VBAをいじり始めてみたのですが、今ひとつだったので大変有り難いです。
関数も使ったことのないものを教えていただき、勉強になりました。
こころから感謝申し上げます。
No.3
- 回答日時:
エクセルでは関数を使ってでは、抜き出しは苦手(式が複雑)です。
この質問コーナーで、私はimogasi方式という作業列を使うやり方でたくさん答えています。Googleで「imogasi方式」で照会すれば、OKWAVEでの同類の質問が相当数でで、そこには私以外の回答も出てきます。参考にしてください。
>ユーザー定義で作りたいと
やってご覧よ。2つ以上の値を返すユーザー関数って、そうたやすく勉強できないよ。
(A)それよりある列の全セルをIF文で聞いて、該当かどうか調べて、該当なら、好みの列に1行ずつ下へずらして書き出す、を考えた方が格段に易しいよ。
上記(A)と絡めて、条件の第x番目の該当行を帰すユーザー関数を考えたら。
No.2
- 回答日時:
INDEX関数とMATCH関数の組み合わせのことだと思います。
A B
氏名 ID
であった場合
D1にID入れて、E1に
=INDEX(A:A,MATCH(D1,B:B),1)
それぞれの関数の意味はHelpで調べてみてください。
そのほか、色々と使い道のある関数です。
ありがとうございます。
私が扱っているデータの具体的な例を挙げさせて頂きます。
まさし 00038
ゆみこ 00025
ひろし 00041
たろう 00040
というような形ではなく、
まさし 00038
ゆみこ 00025
ひろし 00041
欠席 たろう 00040
のように、バラバラに並んでいる形になっています。
関数の意味を見てみたのですが、どちらもA1:A200とかB1:B200という指定はできても、
A1:F200という指定はできないような気がするのです・・・。
氏名やIDがA列やB列にあるとは限らず、
ある人は氏名がC列にあったり、
またある人は氏名がD列にあったりします。
IDがそのすぐ隣にあることは保証されているのですが・・・。
どうぞよろしくお願いいたします。
No.1
- 回答日時:
いちばん簡単なのはある範囲をVlookupで検索できるように変更することです。
ある範囲が数列ならそれぞれ名前定義してVlookupで探して、なければ次の名前、なければ次の名前とするのも手かもしれません。
ある範囲の規模や並び方がわかればもう少し有効な策もあるかもしれないですね。
どうもありがとうございます。
「ある範囲」とは列が6列、行が200行ぐらいです。
検索したい値がA列にあるのか、B列にあるのか、まったくのランダムで、
B列にその値がある時も、その隣のA列のセルが、空白なのか、何か値が入っているのか、それもランダムになります。
その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
どうぞよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルで条件に一致したセルの隣のセルを取得したい
その他(Microsoft Office)
-
エクセルで指定した行で条件に一致したセルの右隣のセルを取得したい
Excel(エクセル)
-
excelの特定のセルの隣のセル指定について
その他(Microsoft Office)
-
-
4
Excel 表から値をさがして隣のセルの値を返す
Windows Vista・XP
-
5
自分の左隣のセル
Excel(エクセル)
-
6
複数の候補列から、検索値と一致するものの隣セルを反映したい
Excel(エクセル)
-
7
エクセルで同一シート内にある特定文字の右隣のセルの値を合計する方法はあ
Excel(エクセル)
-
8
EXcel HLOOKUP関数の検索で得た値の1つ右隣りのセルの値を求める関数
その他(Microsoft Office)
-
9
【Excel関数】値が合致するセルの隣のセルを表示させたい
Excel(エクセル)
-
10
Excel ○のついた右隣のセルの種類をカウントするには?
その他(Microsoft Office)
-
11
エクセル2016でfilter関数がないので、、抜き出す関数をおしえてください。
Excel(エクセル)
-
12
[初心者です]VBAで指定列からAを検索し、発見したら隣のセルに値0を入れるマクロ。
Access(アクセス)
-
13
EXCELで2つの数値のうち大きい方を採択する数式
Excel(エクセル)
-
14
エクセル 特定の文字を含むセルとその上のセルを抜き出したい
Excel(エクセル)
-
15
あるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように
Excel(エクセル)
-
16
空白でないセルの値を返す方法について
PowerPoint(パワーポイント)
-
17
エクセルの複数のセルを一括で絶対参照にする方法
Excel(エクセル)
-
18
エクセルで条件に一致したベツシートのセルの隣のセルを取得したい
Excel(エクセル)
-
19
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
20
複数の文字列のいずれかが含まれていたらTRUEを返す関数について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
2つの数値のうち、数値が小さい...
-
彼女のことが好きすぎて彼女の...
-
風俗店へ行く前のご飯
-
血液検査の結果が悪くefgrの値...
-
勃起する時って痛いんですか? ...
-
男性に質問 お尻の穴を見せた...
-
病院側から早く来てくださいと...
-
汚い話ですみません。 検便って...
-
小数点以下を繰り上げたものを...
-
イタリアから帰国する際、肉製...
-
検査結果について電話連絡って...
-
エクセルでθを求めたい。
-
精液の落とし方を教えてください
-
ラブホってバスタオルが2枚ある...
-
excel関数で TRUEやFALSEについて
-
この赤い斑点は何でしょうか。 ...
-
検便を取ったのですが、棒から...
-
足がまだら模様になります。ど...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
アトピー性皮膚炎
-
コロナになるのが死ぬほど怖い...
-
検便についてです。 便は取れた...
-
24歳、女性です。性欲が強すぎ...
-
未成年の従姉妹が自分の真似絵...
-
頭痛に関する質問です。現在高...
-
血液検査の結果が悪くefgrの値...
-
肝臓がんになりたいです。肝機...
-
何故 削除され続けるか、
-
◎敢えてノンジャンルカテゴリー...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
風俗店へ行く前のご飯
-
2つの数値のうち、数値が小さい...
-
病院側から早く来てくださいと...
-
EXCELで条件付き書式で空白セル...
-
Excel 数値の前の「 ' 」を一括...
-
リンク先のファイルを開かなく...
-
値が入っているときだけ計算結...
おすすめ情報