• ベストアンサー

エクセル 複数行の検索

下のような表で (D14)に (a8)と入力すると答えに (く)と出るようにまた また同じセル(D14)に (a16)と入れると答えに (た)と出るようにしたいのですが 教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

この表でしか通用しない式であるが、 8は5で割ると余り3だから、表の左列より3列目、商は1で実際は表の最初行から3行目。 これで計算して交差するセルを割り出すと、求める物が出る。 (ただし「a1」といっている表現が、実際の表では、同じ文字+数字添え字であるのかどうか、質問の記述がが不完全だと思う。名前の規則正しい数字添え字が無い場合はユーザー関数で公団に説明しておく) ーー 例データ B4:F11 以下略 a1 a2 a3 a4 a5 あ い う え お a6 a7 a8 a9 a10 か き く け こ a11 a12 a13 a14 a15 さ し す せ そ a16 a17 a18 a19 a20 た ち つ て と H4:J23 a1 1 あ a2 2 い a3 3 う a4 4 え a5 5 お a6 6 か a7 7 き a8 8 く a9 9 け a10 10 こ a11 11 さ a12 12 し a13 13 す a14 14 せ a15 15 そ a16 16 た a17 17 ち a18 18 つ a19 19 て a20 20 と ーーー I4の式 =MID(H4,2,LEN(H4)-1) J4の式 =INDEX($B$4:$F$20,(INT((I4-1)/5))*2+2,MOD(I4-1,5)+1) 下方向に式を複写 I列はわかりやすい(J列の式が見てくれで短くなる)ように作業列にしたが、この式をJ列の式のI4の所へ組み込まばI列は不要になる。 ーーーーー 何でも、表見だし(a1、a2.・・)がありなら、 ユーザー関数で標準モジュールに Function fndR(a) fndR = Range("A1: F30").Find(a).Row End Function Function fndC(a) fndC = Range("A1:F30").Find(a).Column End Function シートの式は =INDEX($A$1:$F$30,fndr(H4)+1,fndC(H4)) した方向に式を複写する。結果名 前段と同じ。 H4:H5を(元はa3,a7のところ) 田中 長野 にすると 田中 う 長野 き

msyk1122
質問者

お礼

ありがとうございます。 がんばってやってみます。

すると、全ての回答が全文表示されます。

その他の回答 (6)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.7

No.6です! たびたびごめんなさい。 投稿後に気づいたのですが 他の方の回答をよく見るとNo.1さんと全く同様の方法を投稿してしまいました。 確認せずに投稿してごめんなさいね。m(__)m

msyk1122
質問者

お礼

ありがとうございます。 がんばってやってみます。

すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

こんばんは! 一例です。 =IF(COUNTIF(B4:F10,D14),INDEX(B4:F11,SUMPRODUCT((B4:F11=D14)*ROW(A1:A8))+1,SUMPRODUCT((B4:F11=D14)*COLUMN(A1:E1))),"") としてみてはどうでしょうか?m(__)m

msyk1122
質問者

お礼

ありがとうございます。 がんばってやってみます。

すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

a1からa20まで規則正しく並んでいるのでしたら次の式でもよいですね。 =IF(D14="","",INDEX(B4:F11,ROUNDUP(SUBSTITUTE(D14,"a","")/5,0)*2,MOD(SUBSTITUTE(D14,"a","")-1,5)+1))

msyk1122
質問者

お礼

ありがとうございます。 がんばってやってみます。

すると、全ての回答が全文表示されます。
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.3

作業セルを使わないなら、 D14: =INDEX($B$4:$F$11,(INT((RIGHT(D14,LEN(D14)-1)-1)/5)+1)*2,MOD(RIGHT(D14,LEN(D14)-1)-1,5)+1) とでもする。 「a8、a9、・・・」などの数値部分が連続だからできるが、そうなっていなければ、複雑になる。 もし、a8や「あ、い、う」などに規則性がないのなら、例示をそのようにしなけれれば、回答者の努力は無駄になるね。

msyk1122
質問者

お礼

ありがとうございます。 がんばってやってみます。

すると、全ての回答が全文表示されます。
  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.2

一例です。 かなり力ずくで不恰好ですが、D16に =IF(ISNA(HLOOKUP(D14,B4:F5,2,0)),"",HLOOKUP(D14,B4:F5,2,0))&IF(ISNA(HLOOKUP(D14,B6:F7,2,0)),"",HLOOKUP(D14,B6:F7,2,0))&IF(ISNA(HLOOKUP(D14,B8:F9,2,0)),"",HLOOKUP(D14,B8:F9,2,0))&IF(ISNA(HLOOKUP(D14,B10:F11,2,0)),"",HLOOKUP(D14,B10:F11,2,0))

msyk1122
質問者

お礼

ありがとうございます。 がんばってやってみます。

すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 =IF(COUNTIF(B4:F11,D14),INDEX(B4:F11,SUMPRODUCT((B4:F11=D14)*ROW(B4:B11))-2,SUMPRODUCT((B4:F11=D14)*COLUMN(B4:F4))-1),"")

msyk1122
質問者

お礼

ありがとうございます。 がんばってやってみます。

すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで、検索したセルの下の行を出したいときは?

    たとえば、一つのシートに数字が入った表があるとして(シート1)、 隣のシート(シート2)でA1のセルに数値が入るとシート1から 同じ数値を探し出す(作業しているのはB1)。 その探し出したセルの下の行にあるものを出したいのですが、 その方法がわかりません。関数の数式の中で、 ”+1行”とか、”+1列”というのは、 どういった入力をすればいいのでしょうか? ちょっと説明がうまくできないので、伝わりづらいと 思いますが、補足していきますので、よろしくお願いします。

  • エクセル複数検索で

    A、B、C列を検索してD列のデータを求める式を作成しました。 データリスト   A     B   C   D   1 F2    M2  55  100 2 F21   M3  55  110 3 S22   M2  60  105 4 S2    M2  65  115 求める式(10行目のA、B、Cに文字及び数値を入力し、その値に合致するDの値をD10に求める) 式:INDEX(D1:D4,MATCH(A10&"!"&B10&"!"&C10,A1:A4&"!"&B1:B4&"!"&C1:C4,)) ここで質問ですがA10のセルにはフルネームで入力してデータ行のA1~A4の値は最初の文字(F又はS)だけ認識させたいのですがその方法が分かりません。 質問がわかりにくいかもしれませんがA1~A4にはForSのみ記入しA10セルにはF2、S22などと表示したいのです。よろしくお願い致します。

  • Excel2013のVBA最終行取得結合表複数あり

    いつもお世話になってます。表複数 Excel2013のVBAで質問です。 A1,A2セルは空欄です。そして、A3:A4は結合されています。その後、A5:A10、A11:A15・・・と結合セルが続いています。そして、A95:A100まで結合セルが続いているとして、A101は合計欄のような単体のセルになっています。 その下は、空白セルが10セル位続いており、またその下にも、上と同じような表があります。 結合セルには、何らかの値が入力されています。最終行のA101には入力されていません。 このようなシートの、上側の表の最終行にあたるA101を取得したいと思っているのですが、下の表の最終行は取得するのですが、上からいくと結合セルがあり思うように取得できないでいます。 何か方法があるでしょうか?

  • エクセル関数でこんな判定?

    エクセル2000です。 質問1 A1:A20にリストがあります。 入力されているのはすべて数値としての数字です。 このリストは本来、上のセルの値が常に下のセルの値より大きくなければなりません。(上のセル>=下のセル。空白セルは0とみなす。) もし下のセルの方が大きかった場合を判定するにはどうすればよいでしょうか? 質問2 上記の表がA1:D20まであり、それぞれの列内のみで上記を判定し、A~Dのどこかひとつでも「上のセル<下のセル」があるかどうかの判定。 もちろん作業列を設け、「=上のセル-下のセル」の答えがひとつでもマイナスになれば、そうとわかりますが、作業列をつかわず、ワークシート関数で調べる方法を知りたいのです。 よろしくお願いします。

  • Excel INDIRECT関数の使い方が分からない

    表という名前のSheetがあります。  A 4 1 5 2  : のように、表SheetのA4から下に連番で、    1~400まで数字がふってあります。 式という名前のSheetが式~式(399)まで、400Sheetあります。 400Sheetある式というSheetには表があり、入力されて文字は違いますが、表の配置は全く同じです。 式  のD6セルには 1。Q9セルには「あいうえお」と入力、 式(1)のD6セルには 2 Q9セルには「かきくけこ」と入力されています。 式Sheetが400枚あるので、D6セルには、400まで数字が連番で入力されています。 表SheetのA4セルが、もし空という前提で、1と入力した場合、式~式(399)までのSheetの中から一致した数字が合った場合、そのSheetのQ9のセルの値を返しなさい‥と関数を入れたいと思い、 「INDIRECT」関数を使用しました。 =INDIRECT("式(" & A4 & ")'!D6"  しかし、何度入力しても、REFと出てしまいます。 この関数を使用するのは初めてで、戸惑っています。 どうかご教授ください。

  • エクセルの文字列検索

    Office2003のエクセルで例えば   A B 1 一 山 2 一 山 3 一 川 4 二 海 5 二 海 というような表があるとします。下のように  C D E 1一 山 川 2二 海 C1のセルに「一」を入力すると、対応する山と川をD1とE1の セルに表示してくれるような関数は無いでしょうか? 配列関数など色々探しましたが良いのが分かりません。 宜しくお願いします。

  • エクセルで三行ごとのデータを1行ごとに表示させたい

    下のように三行ごとにあるセルを参照し、他のセルに一行ごとに表示する方法(関数、もしくはマクロなど)   A B C D 1 あ     あ 2       い 3        4 い 5 6 7 う 8 あるいはあるセルに入力されている数値を数式内の行、または列として指定する方法を探しています。 (たとえばA1に4、A2に3と入力されていたとき、B2でその数値を取得しC3の内容を表示する、といった感じです) 簡単そうなきがするのですが私の検索が悪いのか、見つけることが出来ませんでした。ご存知の方お願いします

  • エクセルの質問です

       A   B   C   D 1      あ 2  ★   い 3      う 4      え 5      お B1セルに「あ」、B2セルに「い」…と入力済の表を作成。 例えば、上記のようにA2セルに★を入力したとき、 D1セルに「い」と表示させたいのです。 A1セルに★を入力→D1セルに「あ」と表示 A3セルに★を入力→D1セルに「う」と表示 A4セルに★を入力→D1セルに「え」と表示 A5セルに★を入力→D1セルに「お」と表示 こんな関数って何かありませんか?

  • エクセル 検索

    Microsoft Excel 2007を使用しています。 条件を選んでマッチするデーターを表示する方法をお尋ねします。 A列、A1に「1」以下セルA10に「10」までの数字が昇順で入力されています。 セルB1からセルB10まで果物の名前が入力されています。名前の重複はありません。 セルC1に果物の名前を入力したらセルD1に関数を用いてそれに対応するA列の数値が表示されるようにできませんでしょうか。 エクセルのヘルプを見ましたが、旨く当てはまる関数を探し出せませんでした。 宜しくお願い致します。 例)  セルA5に「5」という数値があり、B5に「柿」が入力されている。 セルC1に「柿」と入力すると、セルD1に「5」が表示される。

  • エクセルで複数行のセルからフィルタ抽出する方法

    エクセルで複数行のセルからフィルタ抽出する方法 エクセルで、何日に誰が日直、当直に入ったかをまとめている表があります。平日は当直4人.土日は日直と当直が各4人ずつです。 aさん 1| 2|8|15|31 bさん1|5|9|14 cさん1|6|24|30 dさん2|1|4 . . . 縦棒はセルの区切りです。(数字ごとに1つずつのセルに入力しています。) 日直日誌(紙媒体)から手入力をしているので、最後に2人で読み合わせをしています。複数の列をまとめてフィルタ掛けして、例えば1日(1と入力している)で絞ると、aさんbさんcさんしか出てきません(一番左の列からしか引っ張れず、dさんが引っ張られない) どの行、どの列のセルの数字も対象にして、フィルタがけして引っ張る方法はありませんでしょうか?

このQ&Aのポイント
  • PX-S06Bのインクカートリッジを交換し、装着しても、認識されません。
  • カチッと音がするまで、しっかりと装着していますが、なぜ認識されないのでしょうか?
  • EPSONの製品に詳しい方、この問題の原因や解決方法を教えてください。
回答を見る

専門家に質問してみよう