ここから本文です

エクセルで、何かの数式を入れて、下記のようなことはできないでしょうか?

みんみんさん

2014/10/2017:25:46

エクセルで、何かの数式を入れて、下記のようなことはできないでしょうか?

マクロが不慣れなため、数式でなんとか処理したいと考えています。
いい方法があれば是非教えてください。

例)
番号 名前 年齢 商品
11218 A 21 りんご
21218 A 21 ぶどう
12003 B 25 りんご
12123 C 20 なし
21007 D 30 ぶどう
11218 E 25 もも
12218 A 21 魚
12218 A 21 肉




とあって、番号5ケタのうち、左から1桁目・2桁目・3.4.5桁目と分けて、
それぞれ該当するデータを全て読み込みたいです。
具体的に言うと、
1桁目が1、2桁目が2、3.4.5桁目が218 のデータを読みだす

12218 A 21 魚
12218 A 21 肉

という感じです。可能でしょうか???
よろしくお願いします。

閲覧数:
145
回答数:
2
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tai********さん

2014/10/2100:16:42

H2,I2,J2セルに桁ごとの数字を書いておきます。

M列に作業列を作ります。
M1セルに
=IF(ROW(A1)=1,1,IF(A1=H$2*10000+I$2*1000+J$2,ROW(A1),""))
と入れて下にコピーします(オートフィル)。

H5セルから結果を表示します。
H5セルに
=IFERROR(INDEX(A:A,SMALL($M:$M,ROW(A2))),"")
と入れて右にK5セルまで、そのまま下にコピーします(オートフィル)。

※A列のデータが数値でなく、数字文字列のときはうまくいきません。1を掛けてください。

H2,I2,J2セルに桁ごとの数字を書いておきます。

M列に作業列を作ります。
M1セルに...

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

all********さん

2014/10/2017:37:26

>1桁目が1、2桁目が2、3.4.5桁目が218 のデータを読みだす
どうしてこんな書き方するのですか?
番号 12218 の行と書けばいいだけ

関数なら
作業列
A2
=IF(B2="","",IF(COUNTIF($B$2:B2,12218),COUNTIF($B$2:B2,12218),""))
下方向にコピー
G2
=IFERROR(VLOOKUP(ROW(A1),$A:$E,COLUMN(B1),0),"")
右方向・下方向にコピー

またフィルターで
http://www4.synapse.ne.jp/yone/excel2010/excel2010_filter1.html
http://www4.synapse.ne.jp/yone/excel2010/excel2010_filter21.html

>1桁目が1、2桁目が2、3.4.5桁目が218 のデータを読みだす
どうしてこんな書き方するのですか?...

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる