2つの隣り合ったセルがあり、その2つにはランダムにA~Zが表示または空欄になっています。
その2つのセルがA、Bと表示されていたらBを抽出して下にBを表示、B、Cと表示されていたらCを抽出して下にCを表示という具合にZ>Y>X>W>V>U・・・B>Aという優先順位で抽出して表示させるにはどうすればよろしいのでしょか?宜しくご教示くださいませ。(_ _)(Aと空欄ならAを抽出し表示させます。)

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

A 回答 (4件)

A1とB1に文字があるとして、



=IF(COUNTA(A1:B1)<>2,A1&B1,CHAR(MAX(CODE(A1),CODE(B1))))

…もっとすっきりした式が他の回答者からもでるとは思いますが。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。入力を試みたところ2つの欄に入力がある場合には正しく作動致しました。しかし、片方が空欄の時にはエラー表示になってしまいます。(文字の序列は Z>Y>X・・B>A>空欄 ですので、片方が空欄の場合は入力がある文字の方を表示させたいのですが)何か良い改善策はありますでしょうか? (「CHAR」「CODE」というものを知り文字に数字が振ってあることに驚き目から鱗でした。これで色々とトライできる可能性が増えたこと感謝の思いで一杯です。教えていただきありがとうございます。)

お礼日時:2016/01/20 12:15

[No.2お礼]へのコメント、


》 「Z」を表示させたいのになぜか「G」表示され…
可っ笑しいですねぇ、私の方ではそうはならないのです。
ちなみに、私は全て半角文字としています。

》 Gは71 Zは90なのに…
お調べになったのですねぇ。もっとお調べになってぇ~
z(9082)>g(9063)>Z(9050)>G(9031)>z(122)>g(103)>Z(90)>G(71)
    • good
    • 0
この回答へのお礼

やはりなぜか出来ません。orz EXCEL2003ではダメなのでしょうか?

お礼日時:2016/01/21 15:52

空欄の処理は最初のCOUNTAの式でやっていますが、ひょっとして式が入っていてその結果文字や空欄が返っているのですか?

    • good
    • 0
この回答へのお礼

その通りでした。今回お聞きした抽出は2段目の数式で1段目(空欄)にも数式を入れてありました。その為のエラーだったのですね。ならば空欄にしなければいいという考えに立ちまして、「無し=-」「0=0」として空欄を無くしたら全て上手くいきました!(Z>Y>X・・B>A>0>-」としたわけです。)

皆様方のおかげで3~4ヶ月かかると思われていたデータ作成が1ヶ月でできそうです。助かりました、本当にありがとうございます。(_ _)

お礼日時:2016/01/21 16:00

2つの隣り合ったセル→1、2行目の各列のセル


抽出先→「下」端のセル
セル A3 の式→ =CHAR(MAX(CODE(A1:A2)))
【お断り】上式は配列数式です。
「EXCELの抽出について」の回答画像2
    • good
    • 0
この回答へのお礼

回答をありがとうございます。試みたところ G Z では「Z」を表示させたいのになぜか「G」表示されてしまいます。調べたところGは71 Zは90なのになぜか「G」の方が大きいと判断しているのはどうしてなのでしょうか?(何か文字の表示方法設定に問題があるのでしょうか、A~Dまでは正しく判断しています。縦並びではなく横並びの2つのセルで検証しております。ここに何かあるのでしょうか)また回答1の方と同じで any、空欄 ではanyの方を表示させたいのですがエラーになってしまいます。こちらの改善策はありますでしょうか?ご教授いただけるとありがたいです。(_ _)

お礼日時:2016/01/20 12:28

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

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

Qアクセス レポート 抽出表示について

アクセス レポートで悩んでおります。
内容としてはですが発注月と納入月が一致したら○というレポートを表示させたのですが、発注月に対しての何%納入月が一致するかレポートにすぐにわかるように出来ますか?
具体的にはレポートAにラベルA発注月 ラベルB納入月 ラベルC一致確認(○)
レポートB ラベルA発注月 ラベルB納入完了率
どなたか表示方法ご存じならご教授願います。

Aベストアンサー

>http://oshiete.goo.ne.jp/qa/8769318.html
の続きでしょうか。
たとえば、以下のようなテーブルがあるとします。
テーブル名を「T進捗」とします。なお、IDはオートナンバー
で主キーではありませんが、特にこれがなければ、
ということもないのですが、何となくくっつけています。
一応、フィールドAもフィールドBもデータ型は「数値型」としています。
型が違えば、以下もいろいろ直す必要はでてきますが。


IDフィールドAフィールドBフィールドC
1      1       2
2      1       1        ○
3      1       3
4      2       2        ○
5      2       3
6      2       2       ○
7      3       3        ○
8      4       5
9      4       4         ○
10     4        4        ○




次に、標準モジュールに以下のコードを貼り付け、保存します。
DAOを使っているのでコード表の参照設定でDAOにチェックが入っているか
確認してください。



Function funcRecCount(strMonth As Integer) As Long
  Dim db As DAO.Database
  Dim rs As DAO.Recordset
  Dim i As Long
  Dim j As Long

  Set db = CurrentDb
  Set rs = db.OpenRecordset("T進捗")

  i = 0
  j = 0
  If rs.RecordCount > 0 Then
    Do Until rs.EOF
      If rs!フィールドA = strMonth Then
        If rs!フィールドC = "○" Then
          i = i + 1
        End If
      j = j + 1
      End If
      rs.MoveNext
    Loop
  End If
'納入完了率
  funcRecCount = Int((i / j) * 100)

  rs.Close: Set rs = Nothing
  db.Close: Set db = Nothing
End Function



これらのテーブルと関数を基に、クエリを作成します。
まず、「T進捗」を基にすべてのフィールドを表示する
選択クエリを作成します。
次に、作成したクエリの新しいフィールドに以下のように
設定します。

    納入完了率: funcRecCount([フィールドA])

つまり、クエリのデザインビューでは、

フィールド  ID   フィールドA  フィールドB  フィールドC  納入完了率: funcRecCount([フィールドA])
テーブル  T進捗    T進捗     T進捗    T進捗
並び替え
表示    チェック   チェック   チェック   チェック          チェック

のようになっています。(フィールドが途中で折り返されるかも
しれませんが、そのときは上記をコピーしてテキストで眺めてみてください)

ところで、本当はラベルCは必要はないのですが、要するに
フィールドAとフィールドBが一致すればデータは揃うのですが。


そしてクエリを開くと、

IDフィールドAフィールドBフィールドC納入完了率
1      1       2               33
2      1       1       ○       33
3      1       3               33
4      2       2       ○       66
5      2       3               66
6      2       2       ○       66
7      3       3       ○       100
8      4       5               66
9      4       4       ○       66
10     4       4       ○        66


このクエリを基にそのままレポートを作成するか、あるいは
フィールドAの月を基にグループ化して毎月の
納入完了率を月毎に表示するかによって、レポートの
難易度も違ってきます。


また、フィールドAやフィールドBが「日付/時刻型」ならば、
たとえば、2014/10/3のようなデータがあるならば、
Format関数などを使い、2014/10を取り出して年月が一致
するか確認する仕様にする必要もあります。

いずれにせよ、基本的なことは上記のような感じです。

>http://oshiete.goo.ne.jp/qa/8769318.html
の続きでしょうか。
たとえば、以下のようなテーブルがあるとします。
テーブル名を「T進捗」とします。なお、IDはオートナンバー
で主キーではありませんが、特にこれがなければ、
ということもないのですが、何となくくっつけています。
一応、フィールドAもフィールドBもデータ型は「数値型」としています。
型が違えば、以下もいろいろ直す必要はでてきますが。


IDフィールドAフィールドBフィールドC
1      1       2
2      1      ...続きを読む

Qエクセルについて、重複した文章を抽出して隣のセルに並べて表示

----------A列   B列  C列    D列    E列 F列 G列
1行目 [コード名] [英語]  [日本語]  [追加文章]   [   重  複   ]
2行目 M0001 英文1  日本訳1
3行目 M0002 英文2  日本訳2
4行目 M0003 英文3  日本訳3
5行目 M0004 英文4  日本訳4
6行目 M0005 英文5  日本訳5
 ・
 ・
 ・
500行目 M0499 英文499 日本訳499...

このような形で並んでる場合にD列のセルに新たに英文を追加したときに、重複した文章はB列の英文から抽出して隣の列に並べて表示させたいです。表示する際は下記のようにコード名と日本訳も一緒に表示させたいです。

    A列   B列   C列   D列    E列  F列  G列
1行目 [コード名] [英語]  [日本語]  [追加文章]  [   重   複    ]
2行目 M0001 英文1  日本訳1  英文5   M0005 英文5  日本訳5
3行目 M0002 英文2  日本訳2   英文499  M0499 英文499 日本訳499
4行目 M0003 英文3  日本訳3   英文500
5行目 M0004 英文4  日本訳4   英文501
6行目 M0005 英文5  日本訳5   英文3   M0003 英文3 日本訳3
 ・
 ・
 ・
500行目 M0499 英文499 日本訳499...

そういった方法があればご教授ください。説明下手ですいません。エクセルはほとんど初心者なのですが、急遽仕事でやってと言われ非常に困ってます(汗)よろしくお願いします。

----------A列   B列  C列    D列    E列 F列 G列
1行目 [コード名] [英語]  [日本語]  [追加文章]   [   重  複   ]
2行目 M0001 英文1  日本訳1
3行目 M0002 英文2  日本訳2
4行目 M0003 英文3  日本訳3
5行目 M0004 英文4  日本訳4
6行目 M0005 英文5  日本訳5
 ・
 ・
 ・
500行目 M0499 英文499 日本訳499...

このような形で並んでる場合にD列のセルに新たに英文を追加したときに、重複した文章はB列の英...続きを読む

Aベストアンサー

こんばんは!

E2セルに
=IF(COUNTIF($B:$B,$D2),INDEX(A:A,MATCH($D2,$B:$B,0)),"")

という数式を入れフィルハンドルでG2セルまでコピー!
そのまま下へコピーしてみてください。m(_ _)m

Qエクセルで事前登録したAのリストから選択した文字を選ぶと、Bに決まった数字が自動的に入力される。

A    B
(品名)  (単価)
パンジー   128 
アリッサム  158
パンジー   128

Aのリスト入力まではわかります。 リストから選ぶと自動的に(決められた)数字をBに入れたいです。

初心者がわかるように教えていただけますと助かります。よろしくお願い致します。

Aベストアンサー

No.1です。

アップされている画像が小さくてよく確認できないのですが・・・
目いっぱい画面を拡大し、数式バーの数式を拝見すると
前回回答した数式とはかなり違っているように見えるのですが・・・

Sheet1のB2セルを選択してみてください。
画面上側にある「fx」のアイコンの右側の欄(数式バー)に数式が表示されます。
今一度確認してみてください。

違っていたらご自身で手入力しても良いのですが、
① この画面上で前回投稿した数式(=)からドラッグし範囲指定
② 範囲指定されている状態のところで右クリック → コピー
③ Sheet1のB2セルを選択 → 数式バー内に貼り付け → Enter
④ もう一度B2セルを選択し、B2セルの右下にマウスポインタを移動すると
小さな「+」になるところがあります。
そこで下へドラッグしてみてください。

画像の配置を拝見すると
前回の数式で大丈夫だと思うのですが・・・m(_ _)m

QAccess2010クエリ抽出条件(Like)

Access2010のクエリで、対象のテーブルの商品名を使って抽出条件に「Like "*PB*"」としました。すると「PA 配管カバーB」(すべて全角)の商品が抽出の対象となっていました、何故なのか理解できません。どなたかAccessに詳しい方、理由をご教示ください。

Aベストアンサー

Accessのバグらしいです。
長音を含むと発生するそうです。

書いて忘れる: Access:長音(ー)を含む文字列をワイルドカードで検索する際の注意(バグ)
http://bougyuusonnin.seesaa.net/article/366779658.html

Access2000 から発生しているらしい。

クエリ、フィルタの誤検索?-2 --Access Club 初級者 Forum--
http://accessclub.jp/bbs/0137/beginers45515-2.html

Access2013で試してみましたが、同じ症状でした。

MSさんはもう修正する気はないかも。

前者のリンク先でも書かれてますが、長音をハイフンに置換して検索するということで対処するしかなさそうです。

QACCESS抽出方法について

ACCESS2007でシステムを作成しています。その中で、検索メニューからいくつか条件を入れてデータを抽出しようと考えています。以下はそのメニューです。
____________________
|<検索メニュー>
|ーーーーーーーーーーーーーーーーーーーー
| [名前:] [名前a]
|[業務内容:] [業務内容a]
| [住所1:] [住所a]
| [住所2:] [住所b]
|--------------------
_____________________

検索データクエリの抽出条件の各欄に、以下の式を入れましたが抽出されず空欄が表示されてしまいます。希望どおりの抽出が出来ません。

〔Like [Forms]![検索メニュー]![会社名a] & "*"〕
〔Like [Forms]![検索メニュー]![業務内容a] & "*"〕
〔Like [Forms]![検索メニュー]![住所a] & "*"〕
〔Like [Forms]![検索メニュー]![住所b] & "*"〕

以下の式でも、同じ結果となってしまい八方塞りです。

Like "*" & [会社名は?:] & "*"
Like "*" & [業務内容は?:] & "*"
Like "*" & [住所は?:] & "*"
Like "*" & [他の地域は?:] & "*"

ACCESSではできないのでしょうか。お忙しいとは思いますが何卒ご教授ください。よろしくお願いいたします。

ACCESS2007でシステムを作成しています。その中で、検索メニューからいくつか条件を入れてデータを抽出しようと考えています。以下はそのメニューです。
____________________
|<検索メニュー>
|ーーーーーーーーーーーーーーーーーーーー
| [名前:] [名前a]
|[業務内容:] [業務内容a]
| [住所1:] [住所a]
| [住所2:] [住所b]
|--------------------
_____________________

検索データクエリの抽出条件の各欄に、以下の式を入れま...続きを読む

Aベストアンサー

推測ですが、フィールドに未入力(Null)になってるデータがありませんか?
Likeでの抽出の場合、ワイルドカード(1文字以上)はNull(0文字)を弾くので
他の条件に合っていても抽出から除外されます。

S会社名:Nz([会社名],"*")
S業務内容:Nz([業務内容],"*")
S住所1:Nz([住所1],"*")
S住所2:Nz([住所2],"*")
とクエリに検索用フィールド(Nullの場合、"*"として検索する)を追加して、
こちらのフィールドで例に挙げた条件で抽出する方法を取ってみてください。


人気Q&Aランキング

おすすめ情報