• ベストアンサー
  • すぐに回答を!

EXCEL2000にて1列内の範囲にてシート間ソート?(LOOKUP?)

EXCELの関数ではまっています。 1列内の範囲(B2:B7)間に入力された数値(未ソート(3,6,2,8,1,4)を、別のセルで対象数値(2)が有ったら、その数値(2)を表示したいのですが、Lookup系を使ってどうもうまくいきません。  ABCDEF… ABACAD… ――――――――――――――――― 1  2 3 HB    1 2H  3 6 4H    2 4B ←ここの関数を 4 2 4B    3 HB  =LOOKUP(2,B2:B10,B2:B10)  5 8 2B    4 3B   とすると返り値が『1』になってしまいます。 6 1 2H         (他にH,VLOOKUPも試したのですがどうも・・・)  7 4 3B    6 4H 8                  8 2B         希望としては上記のような形にしたいのですがうまくいきません 正確なLOOKUPの使用方法または別の適切な関数が有ったら教えてください。          

共感・応援の気持ちを伝えよう!

  • 回答数6
  • 閲覧数116
  • ありがとう数6

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

  • ベストアンサー
  • 回答No.6
  • comv
  • ベストアンサー率52% (322/612)

再びこんにちは! >補足と現在までの成果ですが「A」列で入力された >不規則な値とAに添う項目「B」があり、この2列が >入力されると、「AB」列にて2行目から1ずつ並び替え、 >「AC」列は「A」に添う項目「B」を 表示したい >というのが目的です。 あれ? 数値が入力されるのは B列 だったのでは? 取あえず 不規則な数値(重複無し)を並び変えて表示してかつ その行の隣の列の値を表示する式の例 AB2 =IF(COUNT(A:A)>=ROWS(A$1:A1),SMALL(A:A,ROWS(A$1:A1)),"") AC2 =IF(AB2="","",VLOOKUP(AB2,A:B,2,0)) と入力して下に必要行複写 ------------------------ >『AB2の場合 =IF(ISNA(MATCH(1,A2:A10,0)),"",1) >AB3の場合 =IF(ISNA(MATCH(2,A2:A10,0)),"",2) 』 これだと全ての入力が想定される数値分の式を個々に 入力する必要があるのでは?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ズバリな回答ありがとうございます~ これで作業も先が見えました! 今回の質問で多くの事を学ばせて貰いました。 他に回答してくださった方々! ありがとうございます~!!!

関連するQ&A

  • LOOKUP関数を使った表のソートについて教えてください

    LOOKUP関数を使った表をソートしたいのですが、行でソートは出来ますが、列でソートすると検査値がエラーになって数値が表示されません。 何かいい解決法おしえてください。

  • IF関数とLOOKUP関数の組み合わせについて

    指定したセルと等しい数値(文字列?)をLOOKUP関数を使って別シートのデータベースを検索させて、そのシートに無ければまた別のシートのデータベースを検索させるものを作りたいのですが上手くいきません。 指定したセルが空白なら空白を返すように次のような感じで作っています。 IF(A1="","",IF(LOOKUP(A1,シート1!A1:A15,A1:A15)<>A1,LOOKUP(A1,シート2!A1:A15,B1:B15),LOOKUP(A1,シート1!A1:A15,B1:B15))) VLOOKUP関数でもやってみたのですがこちらも上手くいきません。 IF(A1="","",IF(LOOKUP(A1,シート1!A1:A15,A1:A15)<>A1,VLOOKUP(A1,シート2!A1:B15,2,0),VLOOKUP(A1,シート1!A1:B15,2,0))) ご指摘いただければ嬉しいです。

  • エクセルの関数LOOKUPなどについて

    Office2007のエクセルに関して質問です。 関数の挿入のfxを押してLOOKUP関数を入れたときに 検査値をセル指定をし、そのセルの中の数字で検索したいのですが、なぜかできません。 直接数字を入れればできるのですが、それでは関数を使う意味がないので・・・。 fxでのLOOKUPのダイアログで検査値を セル指定をした場合="数値" 直接数値を入力した場合=数値 となるので、「""」がおかしいのかと思うのですが「""」を外すこともできず困っております。 初心者の質問で恐縮ですが、お答えいただければと思います。

その他の回答 (5)

  • 回答No.5
  • comv
  • ベストアンサー率52% (322/612)

こんばんは! >あとはAC2~AC9の関数となりました。 AB列 と AC列 の両方を式で処理するってこと でしょうか!  セルAB2(#4 FlossenEngelさんの式を少々加工)  =IF(ISNA(MATCH(ROWS(A$1:A1),$B$2:$B$10,0)),"",ROWS(A$1:A1))  セルAC2  =IF(AB2="","",VLOOKUP(AB2,$B$2:$C$10,2,0) AB2 と AC2 下行へ必要数複写

共感・感謝の気持ちを伝えよう!

質問者からの補足

深夜の返事ありがとうございます。 私の説明不足で皆様の御尽力をかけましてすみませんです。 補足と現在までの成果ですが「A」列で入力された不規則な値と Aに添う項目「B」があり、この2列が入力されると、 「AB」列にて2行目から1ずつ並び替え、「AC」列は「A」に添う項目「B」を 表示したいというのが目的です。  |A|B…   |AB|AC… ――――――――――――――――― 1| |     | |  2|3 |HB   | 1|2H  3|6 |4H   | 2|4B 4|2 |4B   | 3|HB  5|8 |2B   | 4|3B 6|1 |2H   | |         7|4 |3B   | 6|4H 8| |     | | 9| |     | 8|2B     ※わかりやすいようにセル間を切ってみたのですがズレか… #4 FlossenEngelさんのお答えにて「AB」列は解ったのですが        『AB2の場合 =IF(ISNA(MATCH(1,A2:A10,0)),"",1) AB3の場合 =IF(ISNA(MATCH(2,A2:A10,0)),"",2) 』 「AB」列に添う項目「AC」がまだうまくいきません。 当初下記の関数で行くと思ったのですが↓ 『AC2=IF(AB2="","",LOOKUP(AB2,A2:A10,B2:B10))』 うまく行かず、皆様のお答えいただいたVLOOK等、試してみているのですが未だ未解決の状態です。 お願いします。

  • 回答No.4

よくわかんないんですが、 =IF(ISNA(MATCH(2,$B$2:$B$10,0)),"",2) では。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。 試してみたところ、AB2~AB9に値する数字の表示に関する関数はズバリでした。 ありがとうございます。(そっか~、ここは単純に数値指定しちゃえばいいんだ!) あとはAC2~AC9の関数となりました。 No.3の方の答えの関数を参照にがんばります。

  • 回答No.3
  • nishi6
  • ベストアンサー率67% (869/1280)

>対象数値(2)が有ったら、その数値(2)を表示したいのですが の意味がよくわかりませんが、左側の列を右のように表示しなおしてみました。こういう質問でした? (3,6,2,8,1,4)がB2~B7。HB,4H,4B,2B,2H,3BがC2~C7とします。 AB2~AB9に、B2~B7に1~8があればその数値を表示、AC2~AC9に対応する2H~2Bを表示してみます。 AB2に  =IF(ISNA(VLOOKUP(ROW()-1,$B$2:$C$7,1,FALSE)),"",VLOOKUP(ROW()-1,$B$2:$C$7,1,FALSE)) AC2に  =IF(ISNA(VLOOKUP(AB2,$B$2:$C$7,2,FALSE)),"",VLOOKUP(AB2,$B$2:$C$7,2,FALSE)) として、下にコピーします。2行目から使用なので、ROW()-1で表示すべき数値を求めています。 何か誤解している?ソートする必要もないような?・・・

共感・感謝の気持ちを伝えよう!

質問者からのお礼

具体的な参照例ありがとうございます。 試してみます。

  • 回答No.2
  • imogasi
  • ベストアンサー率27% (4558/16318)

取り急ぎで解答していますが、Vlookupの表(この例ではB2:B10の内容)は昇順に並んでいる必要があったと思いましたが。 今マニュアルを確認しました。降順も不可のようです。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

お返事ありがとうございます。 当初(マニュアル確認せず)「なんとかLookup」でしか思い出せずVLOOKを やってみてダメなのを確認してからマニュアルを見るという後手に廻っていました。 そう!SORT済みが前提のLOOKUPなんですよね~ もうちょっとガンバッテみます。 ありがとうございました。

  • 回答No.1

こんばんは。 元になるデータ(以下)は、 >HB >4H >4B >2B >・・ >・・ 静的(固定)データですか? そうであれば、絶対参照になりますので、 IF文との組み合わせでできそうですね。 動的データであれば、 マクロというかVBAで組み込むしかないのでは?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

早々のお答えありがとうございます。 参照データは静的データです。 IF文と組み合わせは思いつきませんでした。 IF文でやろうとしたのですが実を言うと実行行を20行で実際行っていて 関数の限界行まで来てしまい挫折しました。 対象外は非表示にするためIFを(「4 3B」の下行を考慮し)使っていたのですが どうもうまくいきません。 具体的な関数を教えてもらえると幸いです。

関連するQ&A

  • Excel LOOKUP関数を使う際の範囲指定の仕方

    ExcelでLOOKUP関数を使いデータ検索したいと思います。 現在のデータはB-Eまでしか入っていないので LOOKUP(1,B2:E2,B1:E1) の様に範囲を指定しました。 しかし徐々にF,G,H,I~と横方向にデータが増えていきますと,その都度範囲指定をやり直さなければなりません。 なにか関数かもしくは条件書式などで,(B2:今データがある列までの2行)などという指定はできないものでしょうか。考えついたのは(B2:作成できる最大の列の2行)というような方法です。それより他によい方法はありませんか? できればデータを増やした時に計算式内の範囲指定部分も増えるというような方法が望ましいのですが,おわかりの方,何かお知恵をお貸しください。よろしくお願いします。

  • Excel関数について(lookupなど)

    A列とB列にそれぞれ商品コード(A列)、数値(B列)が入っているリストがあります。(コードと数値はそれぞれ関係があり、このコードにはこの数値、というルールがある) 1)セルD4にそのコードが入ったら、セルE10に該当する数値が入るようにしたいんです。 2)但し、セルD4に入るコードは、リストにはないコードも存在する。その場合、セルE10には何も表示させたくない(エラーも非表示にしたい) という場合、どういう関数を使えばいいのでしょうか。 1)まではLOOKUPかVLOOKUPでできるようなのですが、2)の場合の表示がうまくいきません。 説明が下手で申し訳ないのですが、どなたかお分かりになるかた教えてください。

  • Excel LOOKUP関数で行全体を範囲指定する

    ExcelでLOOKUP関数を使いデータ検索したいと思います。 現在のデータはB-Eまでしか入っていないので LOOKUP(1,B2:E2,B1:E1) の様に範囲を指定しました。 しかし徐々にF,G,H,I~と横方向にデータが増えていきますと,その都度範囲指定をやり直さなければなりません。 なにか関数かもしくは条件書式などで,(B2:今データがある列までの2行)などという指定はできないものでしょうか。考えついたのは(B2:作成できる最大の列の2行)というような方法です。それより他によい方法はありませんか? できればデータを増やした時に計算式内の範囲指定部分も増えるというような方法が望ましいのですが,おわかりの方,何かお知恵をお貸しください。よろしくお願いします。

  • エクセルについて

    初心者です、よろしくお願いします。 A1からC5まで表を作ります。C1からC5にはA7+B7 A8+B8と式を入力します。 A7からB11は、その時々で入力する数字は変わります。 A14からC15は、A1からA5の数字を選んで入力します。 A18からB23はVLOOKUP関数で A18→A14 A19→A15 A20→B14 A21→B15 A22→C14 A23→C15を見て文字を選んできます。 B18からB23も同様VLOOKUP関数で B18→A14 B19→A15 B20→B14 B21→B15 B22→C14 B23→C15を見て3列目を返します。 総計はB18からB23の合計です。 この場合C15に何も入力しなければA23,B23,D19に#N/Aが出ます。 C15に数字を入力する場合があるのでこの覧は残して置きたいのですが、何も入力しないときはA23とB23は空白で、D19はB18からB22の合計を返したいのですが、何かいい方法を教えて下さい。 欲を言えば0は表示したくありません。 説明がへたくそですいません。

  • excel 他ブックからセルを範囲で取得する方法

    Abook.xlsx、B1book.xlsx、B2book.xlsx、B3book.xlsxというファイルがあります。 B1book~B3bookは同じフォーマットになりますが、Bbookのセル範囲(A1:C7)を Abookの「集計シート」にセットしたいのですが、コードでの記述をご教授 頂けませんでしょうか。 Abookのイメージ    A      B ・・・・・・H  1 B1book.xlsx  A1・・・・・・A7  2         B1・・・・・・B7  3         C1・・・・・・C7  4 B2book.xlsx  A1・・・・・・A7  5         B1・・・・・・B7  6         C1・・・・・・C7  7 B3book.xlsx  A1・・・・・・A7  8         B1・・・・・・B7  9         C1・・・・・・C8 このようなイメージになります。 よろしくお願いします。

  • EXCEL LOOKUP関数で別シートをセルから参照したい

    シート:集計表・4月・5月・6月・・・・3月 (4月~3月までは売上表が入っていて、表の形式はまったく同じです。) 集計表のシートにおいて、 A1にシート名を入力することによって、そのシートを使った範囲を取得したいと思ってます。 B2に =vlookup(B1,'A1'!A:B,2,0) この場合、'A1'! は有効しませんが、何かの関数を使ってこれと同じ結果を得たいと考えています。 いろいろ検索しましたが、(検索の仕方も悪いかもしれません。) VLOOKUP関数を使って複数列を範囲としたいので、よく出てくるINDIRECT関数はセル番地を指定する以上、無理だと判断しました・・・。 よろしくお願いします。

  • LOOKUP関数について

    現在、次のようなエクセルのシートを作成中ですが、どうしても、上手くいかないものですから教えていただけませんでしょうか。    A    B    C    D 1 7日間  0.7  7日間  0.1 2          15日間  0.2 3          1ヶ月間  0.3 4 2ヶ月間 0.4 5          3ヶ月間  0.5 6          4ヶ月間 0.6 7          7ヶ月間 0.7 上記のシートを作成しているのですが、A1のセルに7日間と打ち込めばLOOKUP関数にて0.1とB1に出力させたいのですがどうしても、7ヶ月間の0.7が出力されるなど、上手く拾ってきてくれないのですが、関数式について教えてください。 ちなみに  =LOOKUP(A1,C1:C7,D1:D7) といった数式を入れてみております。Cの欄などは文字列に設定してみたりもしております。  

  • LOOKUP関数で

    こんばんは。 ある範囲内で右の列を基準にして左側のデータを検索したいのですが、 (VLOOKUPの基準が右になったようなもの) LOOKUP関数ではデータが昇順に並ぶ必要があるなど、 制約が多く上手く求める結果が得られません。 元のデータ(昇順になってません)を触ることなく 右側を基準にVLOOKUPした時のような答えを得るにはどうすれば良いでしょうか? 何か別の関数を指定すればよいのでしょうか? 色々考えてみるのですが、どうも上手く行きません。 ご存知の方がいらっしゃればぜひご教示いただけませんでしょうか? よろしくお願いいたします

  • Excel2010 給与明細書の自動計算 その2

    セルA1(時間の合計表示のSUN関数入力)の表示数値が40:00以上になると、セルB1に表示された条件で、セルA2には指定した内容を表示するようにしたいです。 *セルA1の表示数値が40:00未満の場合は、セルA2は無表示。 (セルB1、セルB2にはSUM関数入力済み) セルB1に数値が未表示の場合ではセルA2には0または無表示 セルB1に1の場合ではセルA2は0または無表示   〃 に2の場合では 〃   0または無表示   〃 に3の場合では 〃   セルB2に表示された数値をマイナスにして表示   〃 に4の場合では 〃   セルB2に表示された数値をマイナスにして表示   〃 に5の場合では 〃   セルB2に表示された数値をマイナスにして表示   〃 に6の場合では 〃   セルB2に表示された数値×2の数値をマイナスにして表示   〃 に7の場合では 〃   セルB2に表示された数値×2の数値をマイナスにして表示   〃 に8の場合では 〃   セルB2に表示された数値×2の数値をマイナスにして表示   〃 に9以上の数値では〃  セルB2に表示された数値×3の数値をマイナスにして表示 【例:1】 セルA1に40:00以上の数値が表示、セルB2には¥6000が表示  セルB1   セルA2  無表示    0または無表示   1     0または無表示   2     0または無表示   3     ¥&#65293;6000   4     ¥&#65293;6000   5     ¥&#65293;6000   6     ¥&#65293;12000   7     ¥&#65293;12000   8     ¥&#65293;12000   9     ¥&#65293;18000   10     ¥&#65293;18000 *マイナスの数値は赤色表示希望ですが『セルの書式設定』で行う事が可能ならばおこないたいと思います。 【例:2】 セルA1に40:00未満の数値が表示、セルB2には¥6000が表示  セルB1  セルA2  無表示      1         2        3        4        5        6   7   8   9   10 *セルA2は無表示です。 *無表示とは数値も文字も何も表示されない状態です。 何卒よろしくお願いいたします。

  • 関数や lookupで取り出した 数値 文字を 固定したい

    関数や lookupで取り出した 数値 文字を 固定したい    A 列 B列 C列    A1 5   B1 6 C1 =A1+B1(11数値)の 式を消して 11の数字を固定するには どうすれば いいでしょうか?